Python pip 安装后看不到包

Python not seeing packages after pip install

当我在虚拟环境中运行执行以下命令时

sudo pip3 install -r requirements.txt

它说软件包已成功安装,但是当我尝试运行或导入软件包时,却找不到它们。

pip3 显示 returns 什么都没有。

但是,当我手动 运行

sudo pip3 install package-name

它可以很好地安装软件包并且可以正常工作。

为什么 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 requirements 在我的虚拟环境中安装软件包,它说它们已经安装,但是当我 运行 Pip Freeze 时,它​​ returns 什么都没有,好像什么都没有安装。

pip3 install -r requirements 将我的包放在本地包中 python 包,pip freeze 引用我的虚拟环境包。

pip 没有在正确的位置安装这个包

我认为您错误地为 python 2 创建了一个虚拟环境,因为 pip3 是从 /usr/local/lib/python3.6 而不是在 env 中使用的。您可以使用命令

专门为 python3 创建虚拟环境
virtualenv -p python3 env

您可以尝试使用上面的命令创建一个新的虚拟环境,看看它是否有效?

我认为您在使用虚拟环境时不应该使用 sudo。不用试试。

使用 sudo 是问题的一部分,我 requirements.txt 中的一些软件包导致最新版本的 pip 出错。

当您使用 sudo 时,您在全局安装了您的软件包。这一定能解决你的问题。

sudo su
. venv/bin/activate
pip install -r requirements.txt