我在应用程序中嵌入了Python。当用户通过
安装包或模块时{...}\myapp\python\python.exe setup.py install
包将安装在
中{...}\myapp\python\lib\site-packages
是否有机会使用其他目录,而不是默认 ?
答案 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。
prefix
和exec-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