gpt4 book ai didi

python - 使用分发/设置工具创建符号链接(symbolic link)(或运行脚本)?

转载 作者:太空狗 更新时间:2023-10-29 18:29:15 24 4
gpt4 key购买 nike

作为项目设置过程的一部分,我需要将其中一个包符号链接(symbolic link)到指定目录,以便 init.d 脚本可以找到它。有什么方法可以将其作为后处理命令添加到 setup() 中吗?我什至愿意创建另一个文件来创建链接并将其作为“运行这些”(如果存在这样的选项)的一些 kwarg 列表的一部分传递给 setup()

setup(
...
packages = find_packages('src'),
package_dir = {'': 'src'},
install_requires = ...,
data_files = [('/etc/init.d', ['scripts/foo'])],
...
)

那个 foo 脚本期望来自 src/ 的包之一被符号链接(symbolic link)到其他地方的目录(例如,不仅仅是在 PYTHONPATH 上)。有办法实现吗?

最佳答案

我知道这篇文章已经有好几年了,但我想提供一个更新,说明后处理代码可以在 setup.py 中实现。长话短说,您必须覆盖 setuptools 的安装功能,但从那时起您可以添加任何您想要的代码,例如复制 MANIFEST.in 拒绝复制的符号链接(symbolic link)。取自 Peter Lamut 的 solution .

from setuptools.command.install import install

class CustomInstallCommand(install):
"""Customized setuptools install command - prints a friendly greeting."""
def run(self):
print "Hello, developer, how are you? :)"
install.run(self)
#post-processing code
setup(
...
cmdclass={
'install': CustomInstallCommand,
},
...
)

关于python - 使用分发/设置工具创建符号链接(symbolic link)(或运行脚本)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2159211/

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