【问题标题】:Python not seeing packages after pip installpip安装后Python看不到包
【发布时间】:2020-02-10 10:28:48
【问题描述】:

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

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 requirements 将我的包放在我的本地包 python 包中,而 pip freeze 正在引用我的虚拟环境包。

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

【问题讨论】:

  • 尝试使用virtualenv - 它可以省去很多麻烦。
  • 当您运行 pip3 install -r requirements.txt 时,您当前的文件夹是什么?可以试试 python -m pip install -r requirements.txt 吗?
  • 我正在使用 Virtualenv,是的,当我运行 pip3 install -r requirements.txt 时,我在正确的文件夹中。该问题与使用不同 python 路径的 pip 或 virtualenv 有关。应该是..
  • 永远不要使用sudo pip
  • 使用venv/bin/python -m pip install -r requirements.txt 然后venv/bin/python 运行您的应用程序。

标签: python pip virtualenv


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    virtualenv -p python3 env
    

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

    【讨论】:

    • 我正在使用那个确切的命令,我认为我的 virtualenv 使用了错误的路径。它使用 /usr/bin/python3
    • 在激活虚拟环境的时候可以试试echo $VIRTUAL_ENV这个命令,看看输出的路径是否正确?
    • 或者如果不是,可能是virtualenv 已过时,因此无法正常运行。你知道它当前在哪个版本上运行吗?也许将其更新到最新版本?
    • echo $VIRTUAL_ENV /home/dominic/Desktop/projects/printrender/env
    • 要求已经是最新的:/usr/local/lib/python3.6/site-packages (16.7.5) 中的 virtualenv
    【解决方案3】:

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

    【讨论】:

      【解决方案4】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-03-16
        • 2019-02-27
        • 1970-01-01
        • 1970-01-01
        • 2020-09-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多