installbase参数的具体作用是什么/设置.py安装方式?

2024-10-03 15:31:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试使用自定义安装布局安装python模块。在

从我收集到的文件中

python ./setup.py install -f --install-base="/home/hstock/tmp/python" \
                        --install-purelib=modules \
                        --install-scripts=bin \
                        --install-data=data \
                        --install-platlib=modules \
                        --install-headers=include

这应该将模块安装到/home/hstock/tmp/python/modules-但是似乎忽略了install-base,而将模块安装到./modules。在

这是一个bug还是我把文档弄错了?在

(这是UbuntuLucid上的Python2.6.5)

更新:

我要安装的模块是自制的,setup.py非常简单:

^{pr2}$

Tags: 模块install文件pymoduleshomedatabase
2条回答

从文档来看,您似乎正确地使用了这个模块-什么是模块?模块作者是否可能没有正确使用distutils?在

实际上,所有这些install-*参数都接受简单的字符串模板。看看python的stdlibdistutils.command.install code。您将看到默认值类似于“$base/Lib”或“$base/Scripts”。在

因此,对于您的用例,它将如下所示:

python ./setup.py install -f  install-base="/home/hstock/tmp/python" \
                         install-purelib='$base/modules' \
                         install-scripts='$base/bin' \
                         install-data='$base/data' \
                         install-platlib='$base/modules' \
                         install-headers='$base/include'

由于install lib实际上同时设置了purelib和platlib,因此可以稍微缩短:

^{pr2}$

相关问题 更多 >