Python setuptools 中的自定义安装后脚本
问题:
我们可以执行安装后脚本作为 setuptools setup.py 文件的一部分?该脚本应在本地执行 python setup.py install 或 pip install
答案:
要求:
请注意,此解决方案仅在从源发行版安装期间有效( zip、tarball)或以可编辑模式安装时。从二进制轮子(.whl)安装时它不会执行。
透明解决方案:
要实现所需的行为,我们可以修改 setup.py 文件,而无需创建附加文件。我们需要考虑开发/可编辑模式和安装模式的不同场景:
1.开发模式:
创建一个 PostDevelopCommand 类,该类扩展 setuptools.command.develop 并包含您的安装后脚本:
from setuptools import setup from setuptools.command.develop import develop class PostDevelopCommand(develop): def run(self): develop.run(self) # Your post-installation script or function can be called here
2。安装模式:
创建一个 PostInstallCommand 类,该类扩展 setuptools.command.install 并包含您的安装后脚本:
from setuptools import setup from setuptools.command.install import install class PostInstallCommand(install): def run(self): install.run(self) # Your post-installation script or function can be called here
3.与 setup.py 集成:
将以下行添加到 setup.py 中的 setup() 函数中:
setup( ... cmdclass={ 'develop': PostDevelopCommand, 'install': PostInstallCommand, }, ... )
这将启用安装后脚本的执行或在从源安装或在可编辑模式下自动运行。
以上是我们可以在 Python setuptools 中执行安装后脚本吗?的详细内容。更多信息请关注PHP中文网其他相关文章!