我从中下载了lxml-3.4.4-cp27-none-win_amd64.whl
http://www.lfd.uci.edu/~gohlke/pythonlibs/,然后将其放入D:\My Documents\lxml
。之后,我打开了Windows CMD并将目录更改为D:\My Documents\lxml
,然后执行了:
>>pip install --index-url http://www.lfd.uci.edu/~gohlke/pythonlibs/ lxml-3.4.4-cp27-none-win_amd64.whl
unpacking d:\my documents\lxml\lxml-3.4.4-cp27-none-win_amd64.whl
Installing collected packages: lxml
Successfully installed lxml
Cleaning up...
我现在如何在Eclipse / PyDev项目中引用它?
编辑:(越来越近)
从https://pypi.python.org/pypi/lxml/3.5.0下载lxml-3.5.0.win-amd64-py2.7.exe
(md5)
运行此exe,安装到Python目录:C:\Python27\
Eclipse / PyDev项目Python27LibSitePackages现在包含lxml
包和lxml-3.5.0.py2.7.egg-info
按照下面@caot的建议,从C:\Python27\Lib\site-packages
创建PyDev项目。该项目现在包含lxml
包和lxml-3.5.0.py2.7.egg-info
。
在我想要使用lxml
的项目中,我转到属性>项目参考,并通过选中框包括SitePackages项目。
仍然收到错误 NameError:全局名称' etree'未定义
转到项目属性>外部图书馆>添加源文件夹
C:\Python27\Lib\site-packages\lxml
仍然收到错误 NameError:全局名称' etree'未定义
编辑2:
在C:\Python27\site-packages
下,我看不到etree.dll
。有:
etree.pyd
lxml.etree_api.h
lxml.etree.h
dtree_defs.h
etreepublic.pxd
编辑3: 答案似乎是:
C:\Python27\Lib\site-packages
应该在PYTHONPATH
中,正如@Zabio Zadrozny指出的那样(通过Properites> PyDev-PYTHONPATH>外部库>添加源文件夹)答案 0 :(得分:1)
Linux:下载lxml-3.5.0.tar.gz,然后运行:python setup.py install
Windows:安装lxml-3.5.0.win-amd64-py2.7.exe
$ python
Python 2.7.5 (default, May 15 2013, 22:44:16) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import lxml
>>> from lxml import etree
>>> etree.LXML_VERSION
(3, 5, 0, 0)
>>>
答案 1 :(得分:1)
一些细节:
PYTHONPATH 条目应仅包含包含实际包的文件夹。
即:这意味着" C:\ Python27 \ Lib \ site-packages \ lxml" 不应该在 PYTHONPATH 中,只有" C:\ Python27 \ Lib \ site-packages" - 默认情况下应该在那里。
不要手动将任何内容复制到网站包中 - 执行pip安装时应该注意这一点(如果您手动复制,则可能是您正在制作内容pip继续安装时发生冲突)。
所以,简而言之:从一个干净的python开始,并做一个pip install lxml - 指向pythonlibs就像你做的那样获取whl(并且永远不会手动将任何东西复制到site-packages)并且事情应该没有做任何特别的事。