2016-03-07 64 views
0

我刚买了一台带有OSX 10.11 El Capitan的新MacBook Pro。ImportError:Mac OSX上没有任何名为lxml的模块10.11

我正在运行Google App Engine本地开发启动python,这是我在日志中看到它时,它到达import lxml

"ImportError: No module named lxml" 

我跟着从lxml website

sudo pip install lxml 

包安装的指示,但不能由路径蟒蛇可以看出。我更新了我的路在.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和过时的库和所有的混乱。

UPDATE

关于所提出的意见,它不是一个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的变化可能是问题的一部分。

+0

您运行'source〜/ .bash_profile'加载更新的路径吗? – Forge

+0

可能重复[ImportError:No Module named simplejson](http://stackoverflow.com/questions/2604841/importerror-no-module-named-simplejson) –

+1

这与appengine有什么关系? –

回答

0

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

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

但也有运行时提供libraries-阅读节“使用运行时提供的库与本地开发服务器”在https://cloud.google.com/appengine/docs/python/tools/libraries27

也许你将需要添加到app.yaml中

libraries: 
- name: lxml 
    version: "2.3.5" 
+0

一些Python库(例如lxml)依赖于平台,必须在本地安装可以在开发服务器上使用它们。 – pgiecek

+0

没错,但这并不意味着你不应该修改app.yaml以允许appengine查看/使用它们。 –

+0

他应该在app.yaml中声明库,但是如果我理解正确,他不能在他的计算机上安装库。 – pgiecek

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