在setup.py中,如何在任何pip安装之前运行系统命令?

在setup.py中,如何在任何pip安装之前运行系统命令?,pip,setuptools,python-packaging,Pip,Setuptools,Python Packaging,我正在使用setup.py创建一个Python包,在pip尝试安装依赖项之前,我需要运行某些shell命令。事实上,我需要在setuptools对PyPI进行网络调用之前运行这些命令 (本质上下文是安装此软件包的系统有一个internet网关,需要安装证书。在setuptools连接到internet之前,我需要应用此系统更改) 我知道cmdclass——这些命令是否在install\u需要的阶段之前运行 import os os.system('cmd /c "Your Comman

我正在使用
setup.py
创建一个Python包,在pip尝试安装依赖项之前,我需要运行某些shell命令。事实上,我需要在setuptools对PyPI进行网络调用之前运行这些命令

(本质上下文是安装此软件包的系统有一个internet网关,需要安装证书。在setuptools连接到internet之前,我需要应用此系统更改)

我知道
cmdclass
——这些命令是否在
install\u需要的
阶段之前运行

import os
os.system('cmd /c "Your Command Prompt Command"')

在pip安装代码之前将此代码写入setup.py文件

您不能在安装时运行任意命令(对于phd中链接的)

也许有一些技巧可以让它成为可能,但它们都是不好的练习,甚至不值得费心


我建议您只需清楚地记录预安装步骤,并为自己编写一个shell脚本(或Python脚本),用于封装自定义预安装命令和实际安装命令。

Hint:,仅适用于sdist。对于sdist,您可以以任何方式编写
setup.py
;您可以在调用
setup()
之前运行命令。在控制盘中不起作用。