pip安装后,Python没有看到软件包

时间:2019-10-13 17:11:08

标签: python pip virtualenv

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

  

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没有在正确的位置安装此软件包

4 个答案:

答案 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