默认情况下,使用另一个site-packages目录进行setup.py安装

时间:2017-10-06 16:13:40

标签: python install setup.py cpython site-packages

我在应用程序中嵌入了Python。当用户通过

安装包或模块时
{...}\myapp\python\python.exe setup.py install

包将安装在

{...}\myapp\python\lib\site-packages

是否有机会使用其他目录,而不是默认

3 个答案:

答案 0 :(得分:3)

为了做到这一点,你需要注意的事情很少。我做了一些研究,这就是我发现的:

这部分取自Python's docs

  

运行build命令后(无论是显式运行,还是install命令都为你运行),install命令的工作相对简单:它所要做的就是复制build / lib(或build)下的所有内容/lib.plat)到您选择的安装目录。

     

如果您没有选择安装目录 - 例如,如果您只运行setup.py install-那么install命令将安装到第三方Python模块的标准位置。这个位置因平台和Python本身的构建/安装方式而异。

大多数Linux发行版都将Python作为系统的标准部分,因此前缀和exec-prefix通常都是Linux上的/ usr。如果您自己在Linux(或任何类Unix系统)上构建Python,则默认前缀和exec前缀为/ usr / local。

prefixexec-prefix代表安装Python的目录,以及它在运行时找到它的库。

您有办法交替安装位置,直到某一点:您可以替换 base 目录,但不能替换安装方案

  

Distutils install命令旨在使安装模块分发到一个简单且无痛的备用位置。基本思想是为安装提供基本目录,install命令在此基本目录下选择一组目录(称为安装方案),用于安装文件。不同平台的详细信息有所不同,因此请阅读以下部分中适用的任何内容。

“家庭计划”背后的想法是,您构建并维护个人藏匿的Python模块。这个方案的名称来源于Unix上“home”目录的概念,因为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's search path才能找到新位置。

您还可以使用--prefix选项定义安装基础 python setup.py install --prefix=。详细了解here

总结一下,您可以更改主页目录,但会在其中构建网站包层次结构。希望这会有所帮助。

答案 1 :(得分:1)

要添加新的site-packages目录,请将该新目录路径添加到路径配置文件中。

路径配置文件将允许您添加其他site-packages目录。如果您不想要现有的site-packages目录,可以将其从PYTHON_PATH中删除。

echo“new_site-package_directory”&gt; your_site_packages_path / usrlocal.pth

答案 2 :(得分:0)

我希望这会对你有用Custom python module Installation

相关问题