2024-04-27 00:09:40 发布
网友
在python或linux中是否有什么基本上指示系统“安装任何必要的东西”。基本上,我觉得为我工作的每个新脚本/系统/服务器安装python包很烦人。每次我最后做一个sudo pip或apt-get或dnf无论如何。为什么不在脚本中自动执行呢。如果出现“找不到包”错误,请将库名称传递给install语句。这是吗?
注:我知道docker存在,但我是在python/script级别或直接系统级别上讨论,纯粹是为了执行目的。
谢谢
在新计算机上安装自定义项目时,可以使用setuptools自动安装依赖项。如果您只想安装几个PyPI包,那么需求文件就可以正常工作。
PyPI
Here是两者的一个很好的比较。从同一个链接可以看到,如果项目有两个依赖包A和B,那么在setp.py文件中只需包含一行
A
B
install_requires=[ 'A', 'B' ]
当然,setuptools可以做得更多。您可以包括外部库(例如C文件)、非PyPI依赖项等的设置。documentation提供了有关安装依赖项的详细概述。在开始使用python打包时,还有一个非常好的tutorial。
setuptools
从他们的示例来看,典型的setup.py文件如下所示。
from setuptools import setup setup(name='funniest', version='0.1', description='The funniest joke in the world', url='http://github.com/storborg/funniest', author='Flying Circus', author_email='flyingcircus@example.com', license='MIT', packages=['funniest'], install_requires=[ 'markdown', ], zip_safe=False)
总之,开始使用setuptools非常简单。这个包可以使您很容易地将代码迁移到新机器上。
mv requirements.txt requirements.txt.orig pipreqs --force ./
以及
cat requirements.txt
Keras==2.2.4 scipy==1.3.0 numba==0.44.1 imgaug==0.2.9 opencv_python==4.1.0.25
但是,有些模块需要二进制编译(您没有库),有些模块可以由系统包管理器以不同的名称安装。
我知道的最好的方法是,创建一个文件requirements.txt列出其中的所有包名,并使用pip安装它
requirements.txt
pip install -r requirements.txt
示例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 ...
在新计算机上安装自定义项目时,可以使用setuptools自动安装依赖项。如果您只想安装几个
PyPI
包,那么需求文件就可以正常工作。Here是两者的一个很好的比较。从同一个链接可以看到,如果项目有两个依赖包
A
和B
,那么在setp.py文件中只需包含一行当然,
setuptools
可以做得更多。您可以包括外部库(例如C文件)、非PyPI依赖项等的设置。documentation提供了有关安装依赖项的详细概述。在开始使用python打包时,还有一个非常好的tutorial。从他们的示例来看,典型的setup.py文件如下所示。
总之,开始使用
setuptools
非常简单。这个包可以使您很容易地将代码迁移到新机器上。pip3安装pipreqs
pip3安装-U——用户pipreqs
以及
但是,有些模块需要二进制编译(您没有库),有些模块可以由系统包管理器以不同的名称安装。
我知道的最好的方法是,创建一个文件
requirements.txt
列出其中的所有包名,并使用pip安装它示例
requirements.txt
:相关问题 更多 >
编程相关推荐