默认情况下,使用另一个站点软件包目录进行setup.py安装



我在应用程序中嵌入了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。

prefixexec-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

最新更新