我刚刚购买了一台带有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中的变化可能是问题的一部分。
答案 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