我在应用程序中嵌入了Python。当用户通过安装软件包或模块时
{...}myapppythonpython.exe setup.py install
软件包将安装在中
{...}myapppythonlibsite-packages
是否有机会在默认情况下使用另一个目录?
要做到这一点,您需要注意的事情很少。我做了一些研究,这就是我发现的:
这部分摘自Python的文档:
build命令运行后(无论是显式运行还是安装命令为您执行),install命令的工作相对简单:它所要做的就是将build/lib(或build/lib.plat)下的所有内容复制到您选择的安装目录中。
如果您没有选择安装目录,也就是说,如果您只运行setup.py-install,那么install命令将安装到第三方Python模块的标准位置。此位置因平台和构建/安装Python本身的方式而异。
大多数Linux发行版都将Python作为系统的标准部分,因此前缀和exec前缀在Linux上通常都是/usr。如果您自己在Linux(或任何类似Unix的系统)上构建Python,则默认前缀和exec前缀为/usr/local。
prefix
和exec-prefix
代表Python安装到的目录,以及它在运行时查找库的位置。
您有一种替换安装位置的方法,直到某个点:您可以替换基本目录,但不能替换安装方案
Distutils install命令旨在使将模块分发版安装到备用位置变得简单而轻松。其基本思想是为安装提供一个基本目录,install命令在该基本目录下选择一组目录(称为安装方案)来安装文件。各平台的详细信息各不相同,因此请阅读以下适用于您的部分。
"主方案"背后的理念是构建和维护Python模块的个人存储库。该方案的名称来源于Unix上"主"目录的概念,因为Unix用户使其主目录的布局类似于/usr/或/usr/local/并不罕见。任何人都可以使用此方案,无论他们安装的操作系统是什么。
python setup.py install --home=<dir>
--home
选项定义安装基本目录。文件安装到安装库下的以下目录中,如下所示:
modules home/lib/python
scripts home/bin
data home
C headers home/include/python/distname
然后,您需要修改Python的搜索路径以定位新位置。
您还可以使用--prefix选项来定义安装基础python setup.py install --prefix=
。在这里阅读更多关于
总之,您可以更改home目录,但站点包层次结构将在其中构建。
要添加新的站点包目录,请将该新目录路径添加到路径配置文件中。
路径配置文件将允许您添加一个额外的站点包目录。如果您不想要现有的站点包目录,您可以将其从PYTHON_PATH中删除。
echo"new_site_package_directory">your_site_paackages_path/usrlocal.pth