更新2:
主要问题与我原来的问题不同,并在此寻求帮助。我把新问题转到了一个新帖子:
Install custom python package in virtualenv
更新 好的,所以我意外搞砸了我的非虚拟玩家。 非virtualenv(普通bash)我可以通过删除手动安装(通过点子)lxml并运行
轻松修复conda install lxml --force
但出于某种原因,这在virtualenv中并不起作用。 在那里,正在运行
conda install lxml --force
没有错误信息,但是当我运行python并简单地说
时>>> import lxml
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named lxml
有什么建议吗?
旧消息:
我试图将virtualenv用于我的python flask应用程序。 没有virtualenv,python代码运行得很好。
我已经在virtualenv中安装了我需要的软件包,但是我通过
安装了lxml之后pip install lxml
Installing collected packages: lxml
Successfully installed lxml-3.6.0
运行我的代码时收到以下错误消息:
File "/Users/XXX/xxx/flask-aws/lib/python2.7/site-packages/docx-0.2.4-py2.7.egg/docx.py", line 17, in <module>
from lxml import etree
ImportError: dlopen(/Users/XXX/xxx/flask-aws/lib/python2.7/site-packages/lxml/etree.so, 2): Library not loaded: libxml2.2.dylib
Referenced from: /Users/XXX/xxx/flask-aws/lib/python2.7/site-packages/lxml/etree.so
Reason: Incompatible library version: etree.so requires version 12.0.0 or later, but libxml2.2.dylib provides version 10.0.0
我看到其他人在stackoverflow上报告了类似的问题,有一个人说这个问题可能与virtualenv有关,但是没有解决方案。
再一次:python代码完美运行罚款没有virtualenv !但是在virtualenv中,我无法让它发挥作用。
我在Mac上使用Anaconda Python 2.7。
我很感激任何帮助人员!
答案 0 :(得分:18)
我遇到了同样的错误,在找到不兼容的库错误后发现了这个link&#34; libxml2.2.dylib提供了版本10.0.0&#34;
安装适合我的libxml2:
brew install libxml2
brew link --force libxml2
答案 1 :(得分:0)
在虚拟环境中对我有用的解决方案是强制pip
重新编译lxml
:
pip install lxml --force-reinstall --ignore-installed --no-binary :all: