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

2024-12-25 08:50:00
admin
原创
113
摘要:问题描述:问题如下:我有一个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....

问题描述:

问题如下:

我有一个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
...

我有一个包含所有软件包和其他软件包的本地档案目录。

我已经创建了一个新的虚拟环境

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
....

但后来检查发现,所有软件包都没有正确安装。我无法导入软件包,而且在我的虚拟环境的 site-packages 目录中也找不到任何软件包。那么到底出了什么问题?


解决方案 1:

这对每个人都有效:

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

解释:

-r, --requirement < 文件名 >

从给定的要求文件安装。此选项可多次使用。

解决方案 2:

这对我有用:

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

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

-f, --find-links <URL>- 如果<URL>是 URL 或 HTML 文件的路径,则解析存档链接。如果<URL>是本地路径或file://目录 URL,则在目录列表中查找存档。

解决方案 3:

对于 virtualenv 安装requirements.txt文件中的所有文件。

  1. cd 到requirements.txt所在的目录

  2. 激活你的虚拟环境

  3. 运行: pip install -r requirements.txt在你的 shell 中

解决方案 4:

我遇到了类似的问题。我尝试了这个:

    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

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

解决方案 5:

使用:

pip install -r requirements.txt

欲了解更多详细信息,请查看帮助选项:

pip install --help

我们可以找到选项‘-r’-

-r, --requirement 从给定的需求文件安装。此选项可多次使用。

有关一些常用 pip 安装选项的更多信息(这是 pip install 命令上的帮助选项):

在此处输入图片描述

以上是完整的选项集。请使用pip install --help以获取完整的选项列表。

解决方案 6:

简短回答

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

或者另一种形式:

python -m 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

解决方案 7:

首先,创建一个虚拟环境。

在 Python 3.6 中

virtualenv --python=/usr/bin/python3.6 <path/to/new/virtualenv/>

在 Python 2.7 中

virtualenv --python=/usr/bin/python2.7 <path/to/new/virtualenv/>

然后激活环境并安装requirement.txt文件中提供的所有包。

source <path/to/new/virtualenv>/bin/activate
pip install -r <path/to/requirement.txt>

解决方案 8:

通常,您希望从本地档案快速安装,而无需探测 PyPI。

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

$ pip install --download <DIR> -r requirements.txt

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

$ pip install --no-index --find-links=[file://]<DIR> -r requirements.txt

解决方案 9:

尝试一下:

python -m pip install -r requirements.txt

解决方案 10:

在 Windows 上使用此

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

在 Linux PC 上,我们有 Python2,也有 Python3,所以大多数时候pip被认为是

Python2

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

Python 3

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

解决方案 11:

我使用过很多系统,这些系统都被开发人员“按照他们在互联网上找到的指示”搞得一团糟。你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 版本是,“如果你没有破坏它并且可以解决它,就不要试图修复它。”

解决方案 12:

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

我遇到了同样的问题。我试图在虚拟环境中安装requirements.txt文件。我找到了解决方案。

最初,我通过以下方式创建了我的虚拟环境:

virtualenv -p python3 myenv

使用以下命令激活环境:

source myenv/bin/activate

现在我使用以下命令安装了requirements.txt文件:

pip3 install -r requirements.txt

安装成功,我能够导入模块。

解决方案 13:

  • 创建虚拟环境python3 -m venv virtual-env(对于 Windows,使用 python 而不是 python3)

  • 激活你的虚拟环境source virtual-env/bin/activate

  • 现在安装要求pip install -r requirements.txt

解决方案 14:

pip install --user -r requirements.txt 

或者

pip3 install --user -r requirements.txt 

解决方案 15:

使用pip3 install -r requirements.txt 但请确保 requirements.txt 文件已从原点提取,且未添加到.gitignore

解决方案 16:

在 Windows 中,如果您有

c:\文件夹\子文件夹\requirements.txt

cd c:oldersubfolder 
pip install -r requirements.txt

解决方案 17:

我已经通过运行以下命令解决了:

py -m pip install ./requirements.txt

上述命令将安装 Django 项目的所有依赖项和库。

相关推荐
  为什么项目管理通常仍然耗时且低效?您是否还在反复更新电子表格、淹没在便利贴中并参加每周更新会议?这确实是耗费时间和精力。借助软件工具的帮助,您可以一目了然地全面了解您的项目。如今,国内外有足够多优秀的项目管理软件可以帮助您掌控每个项目。什么是项目管理软件?项目管理软件是广泛行业用于项目规划、资源分配和调度的软件。它使项...
项目管理软件   1124  
  IPD(Integrated Product Development,集成产品开发)流程是一种广泛应用于高科技和制造业的产品开发方法论。它通过跨职能团队的紧密协作,将产品开发周期缩短,同时提高产品质量和市场成功率。在IPD流程中,CDCP(Concept Decision Checkpoint,概念决策检查点)是一个关...
IPD培训课程   79  
  研发IPD(集成产品开发)流程作为一种系统化的产品开发方法,已经在许多行业中得到广泛应用。它不仅能够提升产品开发的效率和质量,还能够通过优化流程和资源分配,显著提高客户满意度。客户满意度是企业长期成功的关键因素之一,而IPD流程通过其独特的结构和机制,能够确保产品从概念到市场交付的每个环节都围绕客户需求展开。本文将深入...
IPD流程   70  
  IPD(Integrated Product Development,集成产品开发)流程是一种以跨职能团队协作为核心的产品开发方法,旨在通过优化资源分配、提高沟通效率以及减少返工,从而缩短项目周期并提升产品质量。随着企业对产品上市速度的要求越来越高,IPD流程的应用价值愈发凸显。通过整合产品开发过程中的各个环节,IPD...
IPD项目管理咨询   82  
  跨部门沟通是企业运营中不可或缺的一环,尤其在复杂的产品开发过程中,不同部门之间的协作效率直接影响项目的成败。集成产品开发(IPD)作为一种系统化的项目管理方法,旨在通过优化流程和增强团队协作来提升产品开发的效率和质量。然而,跨部门沟通的复杂性往往成为IPD实施中的一大挑战。部门之间的目标差异、信息不对称以及沟通渠道不畅...
IPD是什么意思   74  
热门文章
项目管理软件有哪些?
云禅道AD
禅道项目管理软件

云端的项目管理软件

尊享禅道项目软件收费版功能

无需维护,随时随地协同办公

内置subversion和git源码管理

每天备份,随时转为私有部署

免费试用