使用 venv 在 WSL 中安装 Python 要求时出现问题
Problem installing Python requirement in WSL with venv
我有一个来自供应商的代码存储库,我正在尝试以与他们完全相同的方式(尽可能)设置我的本地系统
我已经 运行ning Ubuntu 在 WSL 中 Windows 所以我想我也会尝试将这个系统用于这个供应商回购。在 repo 中有一个 shell 脚本,如下所示:
#!/bin/bash
cd /home/vendorname/vendor-app
. /home/vendorname/.virtualenvs/vendor-app/bin/activate
. /home/vendorname/vendor-app/vendor-environment.sh
python3 /home/vendorname/vendor-app/vendor_script.py
对于争论的情况,我们称这个文件为“runner.sh”
这里首先要注意的是,我的 Ubuntu/WSL 中没有名为 'vendorname' 的用户,正如 home 下 vendorname 文件夹的位置所暗示的那样。不确定这是否是个问题,但可能是。
其次,我设置的文件结构与 shell 脚本显示的完全相同。我已将我的代码存储库放在 /home/vendorname 下,并使用 venv 创建了一个位于 /home/vendorname/.virtualenvs/vendor-app.
下的虚拟环境
我还使用以下命令激活了我的虚拟环境:
source /home/vendorname/.virtualenvs/vendor-app/bin/activate
我的问题
当我从命令行 运行 runner.sh 文件时,出现以下错误:
Traceback (most recent call last):
File "/home/vendorname/vendor-app/vendor_script.py", line 17, in <module>
import requests
ModuleNotFoundError: No Module named 'requests'
这个错误似乎表明请求模块没有安装,但是每当我尝试安装它时,我都会得到“要求已经满足”的响应。
有什么想法吗?
问题出在 shell 脚本的第 3 行:
#!/bin/bash
cd /home/vendorname/vendor-app
. /home/vendorname/.virtualenvs/vendor-app/bin/activate
. /home/vendorname/vendor-app/vendor-environment.sh
python3 /home/vendorname/vendor-app/vendor_script.py
应该是这样的:
#!/bin/bash
cd /home/vendorname/vendor-app
. source /home/vendorname/.virtualenvs/vendor-app/bin/activate
. /home/vendorname/vendor-app/vendor-environment.sh
python3 /home/vendorname/vendor-app/vendor_script.py
不确定这是如何工作的,但在本地解决了我的问题
我有一个来自供应商的代码存储库,我正在尝试以与他们完全相同的方式(尽可能)设置我的本地系统
我已经 运行ning Ubuntu 在 WSL 中 Windows 所以我想我也会尝试将这个系统用于这个供应商回购。在 repo 中有一个 shell 脚本,如下所示:
#!/bin/bash
cd /home/vendorname/vendor-app
. /home/vendorname/.virtualenvs/vendor-app/bin/activate
. /home/vendorname/vendor-app/vendor-environment.sh
python3 /home/vendorname/vendor-app/vendor_script.py
对于争论的情况,我们称这个文件为“runner.sh”
这里首先要注意的是,我的 Ubuntu/WSL 中没有名为 'vendorname' 的用户,正如 home 下 vendorname 文件夹的位置所暗示的那样。不确定这是否是个问题,但可能是。
其次,我设置的文件结构与 shell 脚本显示的完全相同。我已将我的代码存储库放在 /home/vendorname 下,并使用 venv 创建了一个位于 /home/vendorname/.virtualenvs/vendor-app.
下的虚拟环境我还使用以下命令激活了我的虚拟环境:
source /home/vendorname/.virtualenvs/vendor-app/bin/activate
我的问题
当我从命令行 运行 runner.sh 文件时,出现以下错误:
Traceback (most recent call last):
File "/home/vendorname/vendor-app/vendor_script.py", line 17, in <module>
import requests
ModuleNotFoundError: No Module named 'requests'
这个错误似乎表明请求模块没有安装,但是每当我尝试安装它时,我都会得到“要求已经满足”的响应。
有什么想法吗?
问题出在 shell 脚本的第 3 行:
#!/bin/bash
cd /home/vendorname/vendor-app
. /home/vendorname/.virtualenvs/vendor-app/bin/activate
. /home/vendorname/vendor-app/vendor-environment.sh
python3 /home/vendorname/vendor-app/vendor_script.py
应该是这样的:
#!/bin/bash
cd /home/vendorname/vendor-app
. source /home/vendorname/.virtualenvs/vendor-app/bin/activate
. /home/vendorname/vendor-app/vendor-environment.sh
python3 /home/vendorname/vendor-app/vendor_script.py
不确定这是如何工作的,但在本地解决了我的问题