当我在虚拟环境中运行以下命令时
sudo pip3 install -r requirements.txt
它表示软件包已成功安装,但是当我尝试运行或导入软件包时,找不到它们。
pip3 show不返回任何内容。
但是,当我手动运行
sudo pip3安装软件包名称
它可以很好地安装软件包,并且可以正常工作。
为什么pip install -r requirements.txt无法正常工作?过去一直有效。现在,我重新安装了Python,它停止了工作。.
系统: Ubuntu 14.04 Python从3.4更改为3.6.2
requirements.txt
Django==2.0.8
django-debug-toolbar
channels
在终端中调试:
编辑:这没有任何意义。
pip3 install -r requirements.txt
Requirement already satisfied: pycparser in /usr/local/lib/python3.6/site-packages (from cffi!=1.11.3,>=1.8->cryptography>=2.7->autobahn>=0.18->daphne~=2.3->channels==2.3.0->-r requirements.txt (line 79)) (2.19)
$ pip3 --version
pip 19.2.3 from /home/dominic/Desktop/projects/printrender/env/lib/python3.6/site-packages/pip (python 3.6)
我使用pip3 install -r要求在我的虚拟环境中安装了软件包,并说它们已经安装,但是当我运行Pip Freeze时,它什么也没有返回,就好像没有安装任何东西。
pip3 install -r要求将我的程序包放置在本地程序包python程序包中,而pip冻结则引用了我的虚拟环境程序包。
pip没有在正确的位置安装此软件包
答案 0 :(得分:1)
在使用虚拟环境时,我认为您不应该使用sudo
。不尝试。
答案 1 :(得分:0)
我认为您是错误地为python 2创建了一个虚拟环境,因为pip3
是从/usr/local/lib/python3.6
而不是env
中使用的。您可以使用以下命令创建专门用于python3的虚拟环境
virtualenv -p python3 env
您能否尝试使用上面的命令创建一个新的虚拟环境,看看它是否有效?
答案 2 :(得分:0)
使用sudo是问题的一部分,而我requirements.txt中的某些软件包在最新版本的pip上引起了错误。
答案 3 :(得分:0)
当您使用 sudo
时,您已全局安装了您的软件包。这必须解决您的问题。
sudo su
. venv/bin/activate
pip install -r requirements.txt