有没有办法在Python中自动安装所需的软件包?
在Node.js中,我们为一个项目创建一个package.json文件,其中列出了所有依赖项,以便NPM可以自动安装它们有没有办法在Python中自动安装所需的软件包?,python,python-3.x,Python,Python 3.x,在Node.js中,我们为一个项目创建一个package.json文件,其中列出了所有依赖项,以便NPM可以自动安装它们 有没有一种与Python相同的方法来实现这一点?您可以通过 conda install --file requirements.txt 您可以使用pip freeze>requirements.txt生成依赖项列表,并使用pip install-r requirements.txt安装所有依赖项。节点具有npm类似的python具有pip pip是一个软件包管理系统,用于安
有没有一种与Python相同的方法来实现这一点?您可以通过
conda install --file requirements.txt
您可以使用
pip freeze>requirements.txt
生成依赖项列表,并使用pip install-r requirements.txt
安装所有依赖项。节点具有npm
类似的python具有pip
pip是一个软件包管理系统,用于安装和管理软件
用Python编写的包
所以首先需要安装pip
sudo apt-get install python-pip
您必须将需求保存在项目文件夹的requirements.txt
中,就像nodejs
中的package.json
一样
例如:
然后转到项目路径,然后执行以下操作:
pip install -r requirements.txt
如果你正在创建一个独立的库,考虑使用和定义一个<代码>安装程序.Py < /C> >一个<代码>安装程序,要求库的依赖关系< <代码> >字段。例如:
from setuptools import setup
setup(
name='example.package',
install_requires=[
'setuptools',
'requests>=3.0.0',
# other requirements
],
# ... and other attributes
)
如果您试图生成一个开发/构建环境,那么一个requirements.txt
就足够了,但是通过标准的依赖关系解析,其他Python包无法使用它
看
另外,有关如何使用软件包的更全面的信息,请参考,例如(包括pip、virtualenv的使用,这对设置开发环境很有用),这些软件包可以分发(包括在项目的setup.py
中放置的内容).现在是用于安装包和管理依赖项的打包工具。它捆绑了virtualenv、pipfile等相关工具中的强大功能。它还为您提供了来自其他领域的最佳功能,如npm
,warn
,等等
不过,默认情况下,Python可以使用pip
。它是用于安装python包的最常用工具。当作者发布Python软件包时,它们包括一个setup.py
文件,该文件将pip
指向依赖项,以便它可以在您的环境中解析它们。作者还可以包括一个或多个requirements.txt
文件,您可以引导这些文件pip
收集所需的软件包,即pip安装-r/path/to/requirements.txt
通常来说,您可能使用的几乎所有软件包都发布在PyPI存储库中,您只需执行
pip安装
,它就能解决其余的问题。我发现,交付具有依赖关系的程序时,最快、最好的方法是使用几个简单的步骤
pip install pipreqs
,允许运行程序文件夹--/的pipreqs/--目录,并在程序文件夹中为程序生成requirements.txt文件,其中列出了所有程序包依赖项
pip uninstall-r requirements.txt
并运行该程序,以确保它在没有安装依赖项的情况下仍能工作无论您选择使用哪种安装方法(conda、freeze、setup.py),都要使用虚拟环境。这将使您的安装寿命大大延长。@SteveJ我正在使用PyCharms虚拟环境。但问题是Python调试器似乎因为与PyQt有关而崩溃。唯一的选择似乎是在没有PyCharm的情况下工作,这意味着我要么使用另一个IDE/调试器,要么切换到使用终端并全局安装所有依赖项。。。还是我不明白?@KaizerSozay可能对Pycharm中的PyQt崩溃问题有用。@Kaizer;我建议两件事。1) 用PyCharm归档一个bug——它们真的在上面。2) 因为PyCharm为您创建了一个虚拟环境,所以您只需在终端的虚拟环境中运行它。你不需要重新安装任何东西。@KaizerSozay;再加上我之前提到的,如果PyCharm已经创建了一个虚拟环境,那么该虚拟环境已经安装了所有需要的软件包。您所要做的就是从终端激活虚拟环境。诀窍在于现在有两种类型的虚拟环境1)virtualenv/VirtualEnvrapper,2)pyvenv(现在只是venv)。阅读有关如何从终端激活环境的文档。有一种情况是“修井”。另一种是“source-venv/bin/activate”(Linux),python有自己的包安装程序,名为
pip
Node.js。同样,运行npm-install--save
将其保存在package.json
中。或者手动生成package.json
文件也可以。我建议使用pipenv
来管理python依赖项。请参阅npm安装--安装依赖项后保存。您在初始阶段不知道如何安装,而且什么都不知道。因此,pip freeze
只列出默认包,如six
wsgi
,如果它是django,那就是它。我在Pycharm中使用一个虚拟环境。是否有办法导出我通过pycharm安装的软件包?您可以从设置->项目解释器查看。如果要导出,请打开终端,然后按照@LuCima answer,pip freeze>requirements.txt进行操作
from setuptools import setup
setup(
name='example.package',
install_requires=[
'setuptools',
'requests>=3.0.0',
# other requirements
],
# ... and other attributes
)