gpt4 book ai didi

python - 链接 python 设置脚本执行

转载 作者:太空宇宙 更新时间:2023-11-03 17:17:48 26 4
gpt4 key购买 nike

我有一个 python 包,它依赖于另外两个 python 包,我不想将它们作为鸡蛋或轮子分发。

我已经设置了 git 模块文件来下载这些包,但是,现在我想为主包创建 setup.py 脚本,以便它也运行两个子模块的 setup.py 脚本。

我可以通过将以下内容添加到主 setup.py 脚本中以一种 hacky 的方式来完成此操作:

# run the setup for the sub modules.
from subprocess import Popen
import os
import sys

dir1 = os.path.join(os.path.dirname(os.path.realpath(__file__)), 'src/module1')
dir2 = os.path.join(os.path.dirname(os.path.realpath(__file__)), 'src/module2')
# check to make sure the directories exist
if os.path.exists(dir1) and os.path.exists(dir2):
install1 = Popen('cd '+dir1+'; python setup.py install;', shell=True)
install2 = Popen('cd '+dir2+'; python setup.py install;', shell=True)
else:
print "sub-modules not found, did you clone with the recursive tag?"
sys.exit()

但是,我想知道是否有一种可接受的方法可以使用 setuptools 或类似的东西来执行此操作。

最佳答案

要分发包含所有依赖模块的应用程序,您可以在主包的根文件夹中将 piprequirements.txt 一起使用。

也就是说,您可以使用以下命令安装附加软件包

pip install git+git://github.com/myuser/foo.git@v123
...

然后转储已安装的软件包列表

pip freeze >requirements.txt

最后将以下安装步骤添加到自述文件中

pip install -r requests.txt

Pip 自动在子模块中运行 setup.py,因此无需显式运行它们。

关于python - 链接 python 设置脚本执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33481268/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com