gpt4 book ai didi

ubuntu - 使用 venv 在 WSL 中安装 Python 要求时出现问题

转载 作者:行者123 更新时间:2023-12-04 19:24:36 25 4
gpt4 key购买 nike

我有一个来自供应商的代码存储库,我正在尝试以与他们完全相同的方式设置我的本地系统(尽可能)
我已经在 Windows 的 WSL 中运行 Ubuntu,所以我想我也会尝试将此系统用于此供应商存储库。在 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
不知道这是如何工作的,但这在本地解决了我的问题

关于ubuntu - 使用 venv 在 WSL 中安装 Python 要求时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72321816/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com