python的pip文件目录_关于python:如何根据本地目录中的requirements.txt文件使用pip安装包?...

这就是问题所在

我有一个requirements.txt,它看起来像:

BeautifulSoup==3.2.0

Django==1.3

Fabric==1.2.0

Jinja2==2.5.5

PyYAML==3.09

Pygments==1.4

SQLAlchemy==0.7.1

South==0.7.3

amqplib==0.6.1

anyjson==0.3

...

我有一个本地归档目录,其中包含所有包和其他包。

我用创建了一个新的virtualenv

bin/virtualenv testing

激活后,我尝试根据本地归档目录中的requirements.txt安装包。

source bin/activate

pip install -r /path/to/requirements.txt -f file:///path/to/archive/

我得到了一些输出,似乎表明安装良好

Downloading/unpacking Fabric==1.2.0 (from -r ../testing/requirements.txt (line 3))

Running setup.py egg_info for package Fabric

warning: no previously-included files matching '*' found under directory 'docs/_build'

warning: no files found matching 'fabfile.py'

Downloading/unpacking South==0.7.3 (from -r ../testing/requirements.txt (line 8))

Running setup.py egg_info for package South

....

但后来的检查显示没有正确安装任何软件包。我无法导入包,并且在我的virtualenv的站点包目录中找不到任何包。那出什么事了?

你有没有尝试过使用--no-index,这样它就不会看到pypi?

你截取了错误信息。一般在底部附近。

您可以使用文件路径而不是包名称,这意味着您必须更改requirements.txt文件,但保持pip install命令不变。

最有说服力的答案(迈克·里昂的答案)甚至不能回答这个问题。你能接受编码员的回答吗?哪个是正确的?

除了pip.pypa.io/en/stable/user_-guide/需求文件之外,其他人都感到惊讶。

我必须这么做stackoverflow.com/a/40378520/348162

我想知道…您的本地存档是否包含与requirements.txt中指定的包完全相同的版本?

很抱歉把它贴在这里,因为我没有资格获得赏金,有人能看看它stackoverflow.com/questions/43170038/…

我已经阅读了以上内容,意识到这是一个老问题,但它完全没有解决,仍然是我的谷歌搜索结果的顶端,所以这里有一个适用于所有人的答案:

pip install -r /path/to/requirements.txt

我意识到这个答案并不能解决最初的问题,但它回答了我在谷歌上找到这个问题时的问题…

最初的问题已经改变了——注意他现在是如何使用/path/to/requirements.txt的。

@Mikelyons非常肯定这个问题实际上没有改变——没有编辑历史。

对于那些想知道自己键入什么的人来说,命令中的-r只是"从需求文件安装",是--requirement的快捷方式

@弗洛伦切特基,我一直在想。谢谢!

当我想升级一个包(如django)时,我在requirements.txt文件中更改了版本,然后运行pip install -r /path/to/requirements.txt。这将检测到更改,升级包,并将其他所有内容单独保留。

这是为我准备的,谢谢!

这对我很有用:

$ pip install -r requirements.txt --no-index --find-links file:///tmp/packages

--no-index—忽略包索引(只查看--find-linksURL)。

-f, --find-links—如果是指向HTML文件的URL或路径,则解析指向存档的链接。如果本地路径或file://url是一个目录,那么在目录列表中查找归档文件。

来自命令pip help install --no-indexignore package index(只查看--find-linksURL)的--no-index信息。有关--find-links的信息,请从命令pip-help安装-f,--find-links,如果是指向HTML文件的URL或路径,请解析到存档的链接。如果本地路径或file://url是目录,则在目录列表中查找存档。

//这可能是一个非常优雅的解决方案,特别是考虑到与自动售货机的永恒斗争:bitprophet.org/blog/2012/06/07/on-vendorizing

一个警告是,您可以不使用requirements.txt,而使用pip install,但这不会更新requirements.txt。另一种方法可能是更新docker,以便它列出所有运行的pip安装命令来安装依赖项。

我在激活的Venv环境中尝试过这个python -m pip install -r requirements.txt。事情顺利安装,但当我做PIP列表,它不显示包,当我在活跃的venv,甚至在停用venv后。也不能使用这些包。不知道这里怎么了

您确定python是指激活环境的python可执行文件($ which python)?

有一次我的头撞了一次,只是为了像这样打字。

以便virtualenv安装requirements.txt文件中的所有文件。

CD到requirements.txt所在的目录

激活virtualenv

运行:你的外壳中的pip install -r requirements.txt

"pyenv virtualenv pip install requirements.txt not working"为了谷歌…

我也有类似的问题。我试过这个:

pip install -U -r requirements.txt

(-u=如果已安装,则更新)

但问题仍然存在。我意识到一些用于开发的通用库被遗漏了。

sudo apt-get install libtiff5-dev libjpeg8-dev zlib1g-dev liblcms2-dev libwebp-dev tcl8.6-dev tk8.6-dev python-tk

我不知道这是否对你有帮助。

pip install -r requirements.txt

有关详细信息,请检查帮助选项。

pip install --help

我们可以找到选项-R'

-r, --requirement Install from the given requirements file. This option can be

used multiple times.

有关一些常用PIP安装选项的详细信息:(这是PIP安装命令的帮助选项)

此外,以上是一整套选项。请使用pip install--help获得完整的选项列表。

"阅读手册"的答案没有帮助。

通常,您需要从本地存档中快速安装,而不需要探测pypi。

首先,下载满足您要求的档案:

$ pip install --download

然后,使用–find-links和–no-index安装:

$ pip install --no-index --find-links=[file://]

我使用了很多被开发者"按照他们在互联网上找到的方向"所破坏的系统。您的pip和python不使用相同的路径/站点包是非常常见的。因此,当我遇到奇怪的事情时,我就开始这样做:

$ python -c 'import sys; print(sys.path)'

['', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-x86_64-linux-gnu',

'/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old',

'/usr/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/dist-packages',

'/usr/lib/python2.7/dist-packages']

$ pip --version

pip 9.0.1 from /usr/local/lib/python2.7/dist-packages (python 2.7)

这是一个快乐的系统。

下面是一个不愉快的系统。(或者至少这是一个幸福地无知的系统,导致其他人不快乐。)

$ pip --version

pip 9.0.1 from /usr/local/lib/python3.6/site-packages (python 3.6)

$ python -c 'import sys; print(sys.path)'

['', '/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python27.zip',

'/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7',

'/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin',

'/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac',

'/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages',

'/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk',

'/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-old',

'/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload',

'/usr/local/lib/python2.7/site-packages']

$ which pip pip2 pip3

/usr/local/bin/pip

/usr/local/bin/pip3

它不高兴是因为pip使用(python3.6和)/usr/local/lib/python3.6/site-packages,而python使用(python2.7和)/usr/local/lib/python2.7/site-packages。

当我想确保我在正确的python上安装需求时,我会这样做:

$ which -a python python2 python3

/usr/local/bin/python

/usr/bin/python

/usr/local/bin/python2

/usr/local/bin/python3

$ /usr/bin/python -m pip install -r requirements.txt

你听说过,"如果它没有坏,就不要试图修复它。"DevOps的版本是,"如果你没有破坏它,你可以解决它,就不要尝试修复它。"

pip install -r /path/to/requirements.txt

这里,-r是--requirement的简称,它要求pip从给定的requirements文件安装。

pip只有在检查requirements文件中列出的所有项目的可用性后才开始安装,即使一个requirement不可用,也不会开始安装。

安装可用软件包的一个解决方法是逐个安装列出的软件包。为此,请使用以下命令。将显示红色警告,通知您不可用的软件包。

cat requirements.txt | xargs -n 1 pip install

要忽略注释(以#开头的行)和空行,请使用:

cat requirements.txt | cut -f1 -d"#" | sed '/^\s*$/d' | xargs -n 1 pip install

试试这个

python -m pip install -r requirements.txt

对于Python的新手来说。

简单而强大的解决方案,实际有效。

使用python 3在虚拟环境中安装requirements.txt文件:

我也有同样的问题。我试图在虚拟环境中安装requirements.txt文件。我找到了解决办法。

最初,我用这种方式创建了我的虚拟环境:

virtualenv -p python3 myenv

使用以下方法激活环境:

source myenv/bin/activate

现在我安装了requirements.txt,使用:

pip3 install -r requirements.txt

安装成功,我可以导入模块。

不回答问题

我在虚拟环境中安装需求文件时遇到了这个问题。我现在修改了我的回答来解决这个问题

在Windows上使用anaconda python 3.6,我不得不做virtualenv -p python myenv、myenv\Scripts\activate.bat、pip install -r requirements.txt。

实际上,与此相反,这似乎是唯一的答案,它回答了有关在requirements.txt中安装本地定义的DEP到virtualenv的部分问题。除非我错过了什么?不管怎样,谢谢!

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值