gpt4 book ai didi

python - Virtualenv 下的结构 : How to obtain the system's Python library path (not the library path of the virtualenv Python)

转载 作者:太空宇宙 更新时间:2023-11-03 19:04:26 24 4
gpt4 key购买 nike

我开始使用 Fabric 作为 Python 项目的简单部署工具,但有一项任务需要知道系统 Python 库路径在哪里,以正确设置一些包符号链接(symbolic link)。

所以问题是:在我的fabfile中,如何获取系统Python路径?例如,此 Python 代码返回正确的库路径:

# Without virtualenv activated
>>> from distutils.sysconfig import get_python_lib;
>>> print get_python_lib()
'/usr/lib/python2.7/dist-packages'

# With virtualenv activated
>>> from distutils.sysconfig import get_python_lib;
>>> print get_python_lib()
'/home/mandx/dev/my_project/env/lib/python2.7/site-packages'

就我而言,在 Fabric 中运行任务时(并且 virtualenv 处于事件状态),我需要知道两者。

我将解释我对此的需求:我想使用 WeasyPrint只需将 HTML 和 CSS 内容传递给构造函数并调用渲染方法即可生成 PDF。这种灵 active 很好,因为具有 CSS 知识的设计人员现在可以利用 PDF 布局,并且 WeasyPrint 力求兼容 CSS3。

而代价是它依赖于一些无法通过 Pip 安装的库(特别是 Pango、GdkPixbuf 和 Cairo)。所以我现在的解决方案是在系统范围内安装它们并将它们符号链接(symbolic link)到项目的 virtualenv。

我不太喜欢使用 virtualenv 的 --system-site-packages 选项,但我想听听为什么它比我的符号链接(symbolic link)的想法更好。

最佳答案

只需运行 Fabric shell 脚本命令任务来询问操作系统的 python:

/usr/bin/python -c 'from distutils.sysconfig import get_python_lib;print get_python_lib()'

关于python - Virtualenv 下的结构 : How to obtain the system's Python library path (not the library path of the virtualenv Python),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15116279/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com