pip:安装依赖项的依赖项
pip: install dependencies of dependencies
我想手动安装我正在编写的 Python 包的所有要求。为此,我创建了文件 requirements.txt
并逐行添加了依赖项:
$ cat requirements.txt
meshio
numpy
当运行
$ pip install -r requirements.txt
这两个软件包安装正常,但我注意到 meshio 的依赖项没有安装(即,其 requirements.txt
中列出的任何内容)。不足为奇,pip 怎么知道的?
有没有pip安装整个依赖树的机制?
我不确定这是否是您需要的。但这就是我解决这个问题的方法。我为每个 python 项目创建了一个 虚拟环境。
cd my_project_folder
virtualenv venv # choose the python interpreter you need ;)
source venv/bin/activate
然后我安装项目所需的所有包。
pip install <what ever packages you need>
如果您随后需要创建 requirements.txt 您可以使用此命令
pip freeze > requirements.txt # including the installed version of each package
要离开 虚拟环境 ,只需键入 deactivate
。希望这对你有帮助...
这个也有详细描述here
您可能对 pip-tools 感兴趣,这是一个 python 包,可用于构建考虑所有基础依赖项的 requirements.txt
文件。它可以通过 pip 安装:
pip install --upgrade pip # pip-tools needs pip>=6.
pip install pip-tools
安装后,您可以使用pip-compile
命令生成您的需求文件。例如,假设您从事 Flask 项目。您必须执行以下操作:
将以下行写入文件:
Flask
运行pip-compile <your-file>
。它将生成您的 requirements.txt,并固定所有依赖项。您可以重新运行 pip-compile
来更新软件包。您的输出文件将如下所示:
#
# This file is autogenerated by pip-compile
# Make changes in requirements.in, then run this to update:
#
# pip-compile <your-file>
#
flask==0.10.1
itsdangerous==0.24 # via flask
jinja2==2.7.3 # via flask
markupsafe==0.23 # via jinja2
werkzeug==0.10.4 # via flask
事实证明要安装依赖项,包需要将其依赖项列为
install_requires=[
'numpy',
'pyyaml'
],
作为 setup.py
中 setup()
的一部分,而不是 requirements.txt
。
我想手动安装我正在编写的 Python 包的所有要求。为此,我创建了文件 requirements.txt
并逐行添加了依赖项:
$ cat requirements.txt
meshio
numpy
当运行
$ pip install -r requirements.txt
这两个软件包安装正常,但我注意到 meshio 的依赖项没有安装(即,其 requirements.txt
中列出的任何内容)。不足为奇,pip 怎么知道的?
有没有pip安装整个依赖树的机制?
我不确定这是否是您需要的。但这就是我解决这个问题的方法。我为每个 python 项目创建了一个 虚拟环境。
cd my_project_folder
virtualenv venv # choose the python interpreter you need ;)
source venv/bin/activate
然后我安装项目所需的所有包。
pip install <what ever packages you need>
如果您随后需要创建 requirements.txt 您可以使用此命令
pip freeze > requirements.txt # including the installed version of each package
要离开 虚拟环境 ,只需键入 deactivate
。希望这对你有帮助...
这个也有详细描述here
您可能对 pip-tools 感兴趣,这是一个 python 包,可用于构建考虑所有基础依赖项的 requirements.txt
文件。它可以通过 pip 安装:
pip install --upgrade pip # pip-tools needs pip>=6.
pip install pip-tools
安装后,您可以使用pip-compile
命令生成您的需求文件。例如,假设您从事 Flask 项目。您必须执行以下操作:
将以下行写入文件:
Flask
运行pip-compile <your-file>
。它将生成您的 requirements.txt,并固定所有依赖项。您可以重新运行 pip-compile
来更新软件包。您的输出文件将如下所示:
#
# This file is autogenerated by pip-compile
# Make changes in requirements.in, then run this to update:
#
# pip-compile <your-file>
#
flask==0.10.1
itsdangerous==0.24 # via flask
jinja2==2.7.3 # via flask
markupsafe==0.23 # via jinja2
werkzeug==0.10.4 # via flask
事实证明要安装依赖项,包需要将其依赖项列为
install_requires=[
'numpy',
'pyyaml'
],
作为 setup.py
中 setup()
的一部分,而不是 requirements.txt
。