我想在我的ubuntu12.04上安装lxml 3.1.2。它已经通过包管理器安装了lxml2。有人已经成功地完成了lxml的双重安装吗?
我有点担心混淆我的安装,主要是因为我的安装看起来很混乱!
我读了医生:
在2中使用lxml 如果您想将lxml与正式的libxml2 Python绑定一起使用(可能是因为您的一个依赖项使用它),则必须静态地构建lxml。否则,这两个包将干扰libxml2库需要全局配置的地方,这可能会从两种程序中的任何一种功能消失到崩溃产生任何影响。要获得静态构建,可以将--静态-deps选项传递给setup.py脚本,也可以将STATIC_DEPS或STATICBUILD环境变量设置为true运行pip,即STATIC_DEPS=true pip安装lxml STATICBUILD环境变量与STATIC_DEPS变量相当,但也被其他扩展包使用。
所以我准备好了
STATIC_DEPS=true pip install lxml但我犹豫了。假设这是可行的,我如何在python程序中区分我正在使用的lxml?
import lxml 会让我得到哪个lxml?
现在,pip冻结lxml给了我lxml==2.3.2
我现在不知道是从pip安装还是从ubuntu软件包..。
使用dpkg -L python,我得到许多文件,其中包括:
> /usr/lib/python2.7/dist-packages/lxml-2.3.2.egg-info/not-zip-safe
> /usr/lib/python2.7/dist-packages/lxml-2.3.2.egg-info/SOURCES.txt
> /usr/lib/python2.7/dist-packages/lxml-2.3.2.egg-info/dependency_links.txt
> /usr/lib/python2.7/dist-packages/lxml-2.3.2.egg-info/top_level.txt
> /usr/lib/python2.7/dist-packages/lxml-2.3.2.egg-info/PKG-INFO以及:
> /usr/share/pyshared/lxml-2.3.2.egg-info
> /usr/share/pyshared/lxml-2.3.2.egg-info/not-zip-safe
> /usr/share/pyshared/lxml-2.3.2.egg-info/SOURCES.txt
> /usr/share/pyshared/lxml-2.3.2.egg-info/dependency_links.txt
> /usr/share/pyshared/lxml-2.3.2.egg-info/top_level.txt
> /usr/share/pyshared/lxml-2.3.2.egg-info/PKG-INF当我使用lxml时,这些(还是其他地方)中的哪一个?它是从哪里来的?
神秘!
发布于 2013-11-08 10:24:02
您可以发现正在运行的加载了哪个lxml。
$ python -c "import lxml; print lxml.__file__"如果您想要使用同一包的多个版本,您可能会发现维塔列夫很有用。事实上,即使没有这种条件,它也是有用的。
为了简化虚拟环境的使用,您可能希望使用虚拟包装器。然后您可以简单地切换到:
$ workon lxml232
(lxml232) $ python -c "import lxml.etree; print lxml.etree.__version__"
2.3.2
(lxml232) $ workon lxm312
(lxml312) $ python -c "import lxml.etree; print lxml.etree.__version__"
3.1.2https://stackoverflow.com/questions/19852911
复制相似问题