我有这个Python脚本:
#!/usr/bin/env python
from distutils.core import setup, Extension
MOD = 'sysinfo'
setup(
name=MOD,
ext_modules=[
Extension(
MOD,
sources=['python_module.c']
)
]
)
运行它,我得到:
$./setup.py install
running install
running build
running build_ext
running install_lib
copying build/lib.linux-x86_64-2.7/sysinfo.so -> /usr/lib64/python2.7/site-packages
error: /usr/lib64/python2.7/site-packages/sysinfo.so: Permission denied
自然地-我不需要并且没有权限来写入/usr
目录。我想改为安装到另一个目录,在该目录下我有一个linux目录结构。说,我想安装到/home/mark/usr/lib64/python2.7/site-packages
。
我研究了distutils.core
文档,并使用了--help
,但找不到在其他根目录下安装的任何选项。
如何做到?
答案 0 :(得分:1)
./setup.py install
将软件包安装到python安装的全局site-packages/
中,使其可用于系统的所有用户。
./setup.py install --user
将软件包安装到家中的本地site-packages/
(~/.local/lib/pythonX.Y/site-packages/
)中,仅对您可用。
./setup.py install --root ~/custom/directory/
安装到~/custom/directory/usr/lib64/pythonX.Y/site-packages/
中。