【问题标题】:python pip trouble installing from requirements.txt从 requirements.txt 安装 python pip 问题
【发布时间】:2015-03-25 22:05:42
【问题描述】:

过去我在 pip 上很幸运,但是在 venv on 中安装一些东西让我有些头疼。 我不断收到错误,例如 根本找不到某个包的发行版 将调试日志存储在 /root/.pip/pip.log 中

Could not find any downloads that satisfy the requirement somepackage

Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-RjqjFW/psycopg2

我知道这些软件包已安装在主系统上,但好像它们无法在 venv 上运行。你们都是如何解决这个问题的?这是漫长的一天,我只是不明白问题出在哪里,特别是因为它们在我的本地系统上工作,它们在我的远程系统上的主要 python 安装上工作,但由于某些疯狂的原因不在 venv 中。有什么想法吗?

这是要求,我认为这对 django 来说有点紧张,但这就是 pip freeze > requirements.txt 给我的

Babel==1.3
Django==1.7.1
Fabric==1.10.1
Flask==0.10.1
Flask-Babel==0.9
Flask-Login==0.2.11
Flask-Mail==0.9.1
Flask-OpenID==1.2.4
Flask-SQLAlchemy==2.0
Flask-WTF==0.10.3
Flask-WhooshAlchemy==0.56
Jinja2==2.7.3
MarkupSafe==0.23
PAM==0.4.2
Pillow==2.3.0
Pygments==1.6
Scrapy==0.24.4
Sphinx==1.2.2
Tempita==0.5.2
WTForms==2.0.1
Werkzeug==0.9.6
Whoosh==2.6.0
adium-theme-ubuntu==0.3.4
apt-xapian-index==0.45
argparse==1.2.1
backports.ssl-match-hostname==3.4.0.2
blinker==1.3
boto==2.20.1
bottle==0.12.7
certifi==14.05.14
chardet==2.0.1
colorama==0.2.5
command-not-found==0.3
coverage==3.7.1
cssselect==0.9.1
debtagshw==0.1
decorator==3.4.0
defer==1.0.6
dirspec==13.10
docutils==0.11
duplicity==0.6.23
ecdsa==0.11
flipflop==1.0
guess-language==0.2
guppy==0.1.9
html5lib==0.999
httplib2==0.8
ipython==2.3.1
itsdangerous==0.24
lockfile==0.8
lxml==3.3.3
nose==1.3.4
numpy==1.8.2
oauthlib==0.6.1
oneconf==0.3.7
paramiko==1.15.2
pbr==0.10.7
pexpect==3.1
piston-mini-client==0.7.5
psycopg2==2.5.4
pyOpenSSL==0.13
pyasn1==0.1.7
pycrypto==2.6.1
pycups==1.9.66
pycurl==7.19.3
pygame==1.9.1release
pygobject==3.12.0
pyserial==2.6
pysmbc==1.0.14.1
python-apt==0.9.3.5ubuntu1
python-debian==0.1.21-nmu2ubuntu2
python-openid==2.2.5
pytz==2014.10
pyxdg==0.25
queuelib==1.2.2
reportlab==3.0
requests==2.2.1
roman==2.0.0
sessioninstaller==0.0.0
simplegeneric==0.8.1
six==1.5.2
software-center-aptd-plugins==0.0.0
speaklater==1.3
sqlalchemy-migrate==0.9.2
sqlparse==0.1.14
system-service==0.1.6
tornado==4.0.2
unity-lens-photos==1.0
urllib3==1.7.1
virtualenv==1.11.6
w3lib==1.10.0
wsgiref==0.1.2
wxPython==2.8.12.1
wxPython-common==2.8.12.1
xdiagnose==3.6.3build2
z3c.xmlhttp==0.5.1
zope.interface==4.0.5
zope.publisher==4.0.0a4
zope.traversing==4.0.0
zope.viewlet==4.0.0a1

【问题讨论】:

  • 您能否在您的问题中发布您的 requirements.txt 以便我们尝试重现问题?
  • 您是否要在 Windows 上安装它?我从来没有设法使用 pip(在 virtualenv 中)在 Windows 上安装 psycopg2。我必须下载安装程序并运行“path/to/venv/bins/easy_install psycopg2_package.exe”。
  • 不,我在 Ubuntu 上。要求在上面张贴

标签: python pip virtualenv


【解决方案1】:

以下解决方案对我有用:

(my-virtualenv) 20:42 ~/MyPf (master)$ pip freeze > requirements.txt | 
(my-virtualenv) 20:43 ~/MyPf (master)$ pip install -r requirements.txt

【讨论】:

  • 你的问题是什么?你能指定吗!
【解决方案2】:

有类似的问题,但上述方法对我不起作用。用一个更简单的解决方案澄清它:

(venv) $ pip install --upgrade -r requirements.txt

更新: 此命令会升级您的 requirements.txt 文件中明确列出的所有软件包。

您的 requirements.txt 文件只是放置在文件中的 pip install 参数列表。它们用于保存 pip freeze 的结果,以实现可重复的安装。在这种情况下,您的 requirements.txt 文件包含运行 pip freeze 时安装的所有内容的固定版本。

【讨论】:

  • 这个命令升级了什么?包的版本还是其他?
  • 我遇到了完全相同的问题,这对我有用。
  • KishorPawar,就像我之前说的,它应该启动升级并从 requirements.txt 文件安装到您的虚拟环境
  • 这对我也有用。亲爱的 Nii,问题是我们不明白“启动升级”是什么意思。它不是指 pip 版本,因为 pip --upgrade 后跟 pip install requirements.txt 不能解决问题。也许你可以解释一下,在这种情况下我们需要将标志--upgrade添加到pip install
  • 不知道它到底做了什么,但它对我有用。
【解决方案3】:

sudo pip install -r requirements.txt pip install -r requirements.txt 为我工作

【讨论】:

    【解决方案4】:

    试试pip install -r requirements.txt

    它对我有用

    【讨论】:

      【解决方案5】:

      我遇到了这个问题,但原因不同——我有一个旧版本的 virtualenv。在 1.7 版之前,您必须在创建虚拟环境时指定选项 --no-site-packages 以不包含全局包。

      两个选项来解决这个问题,要么升级你的 virtualenv:

      sudo pip install virtualenv --upgrade
      virtualenv venv
      

      或者使用带有 no-site-packages 选项的旧版本:

      virtualenv venv --no-site-packages
      

      这修复了我的 requirements.txt 文件。

      【讨论】:

        【解决方案6】:

        我发现了一些问题:

        1. 您的 requirements.txt 用于基础系统 Python,而不是任何虚拟环境。 Django 没有任何外部依赖。

        2. 您正在使用 root 用户在虚拟环境中安装软件包(或者您不应该使用 sudo)。

        最好的选择是从头开始:

        $ virtualenv myvenv
        ...
        $ source myvenv/bin/activate
        (myvenv) $ pip install django
        ...
        (myvenv) $ pip freeze > requirements.txt
        

        【讨论】:

        • 好的,是的,我没有意识到使用 sudo 命令将我从 venv 中释放出来。到目前为止,我对这种方法有一个问题。当我尝试运行 manage.py 时出现错误,因为它缺少 psycopg2 模块。错误:您需要安装 postgresql-server-dev-X.Y 来构建服务器端扩展或 libpq-dev 来构建客户端应用程序。
        • 这是一个完全不同的问题。尝试sudo apt-get build-dep python-psycopg2编译需求,然后你需要在你的虚拟环境中实际安装pyscopg2pip install psycopg2
        • 好的,我现在明白了,什么时候去主环境做某事,什么时候在 venv 中安装它只是令人困惑
        猜你喜欢
        • 1970-01-01
        • 2017-06-01
        • 2018-06-19
        • 2021-03-09
        • 1970-01-01
        • 2012-06-16
        • 2014-11-20
        • 2021-01-27
        • 1970-01-01
        相关资源
        最近更新 更多