ImportError:Mac OSX 10.11上没有名为lxml的模块

时间:2016-03-07 15:18:20

标签: python pip lxml

我刚刚购买了一台带有OSX 10.11的新Mac Book Pro El Capitan

我正在为本地开发运行Google App Engine Launcher python,这是我在日志中看到的import lxml

"ImportError: No module named lxml"

我按照lxml website

的说明操作
sudo pip install lxml

包安装但在python上无法在路径上看到。我在.bashrc.bash_profile中更新了我的路径:

export PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/lib/python2.7/site-packages/:$PATH

然后找到了这篇文章Installing lxml on Mac OSX (10.11) inside a virtualenv with pip

$ STATIC_DEPS=true pip install lxml

再次安装但无法找到。

我甚至尝试从源代码编译并安装macports,因为它嵌入了它,但仍然没有运气。

我读到了lxml团队对OSX感到沮丧,以及它过时的库和所有的混乱。

更新

关于所做的评论,它不是app.yaml库声明,它不太可能是GAE特有的问题,因为它似乎更可能在python和oxs-elcapitan之间。

我也收到了这条不寻常的消息

The directory '/Users/[username]/Library/Caches/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.

我尝试使用sudo -H,但这也没有解决路径。

但它确实表明10.11中的变化可能是问题的一部分。

2 个答案:

答案 0 :(得分:0)

AppEngine使用它自己的环境来反映他们的服务器,并且看不到你在本地安装的库。

要查看包,它应该位于项目的根目录中(app.yaml所在的位置)。

但是还有运行时提供库 - 阅读部分“使用运行时提供的库与本地开发服务器https://cloud.google.com/appengine/docs/python/tools/libraries27

您可能需要添加到 app.yaml

libraries:
- name: lxml
  version: "2.3.5"

答案 1 :(得分:0)

STATIC_DEPS对我不起作用(看起来相关的FTP网站已经关闭了?),但是这样做了诀窍:

C_INCLUDE_PATH=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/include/libxml2:$C_INCLUDE_PATH pip install lxml