我刚刚通过 Cygwin 包安装程序安装了 pylint,并且可以从任何 .py 文件的 bash 命令行运行它。但是,如果我尝试在 Python 会话中以编程方式将其导入,它会失败:
>>> import pylint
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named pylint
但是,如果我执行以下步骤(我在 pylint 命令行实用程序文件中找到),它可以工作:
>>> __requires__ = 'pylint==1.3.1'
>>> from pkg_resources import load_entry_point
>>> import pylint
>>> pylint.__file__
'/usr/lib/python2.7/site-packages/pylint-1.3.1-py2.7.egg/pylint/__init__.pyc'
我不必在我测试过的几个 linux 系统上做额外的步骤。为什么我必须在 Cygwin 中执行额外的步骤?
仅供参考,这是我的 sys.path:
$ python -c "import sys; print '\n'.join(sys.path)"
/usr/lib/python2.7/site-packages/logilab_common-0.62.0-py2.7.egg
/home/lance/sdp/prereqs/python/lib/python
/usr/lib/python27.zip
/usr/lib/python2.7
/usr/lib/python2.7/plat-cygwin
/usr/lib/python2.7/lib-tk
/usr/lib/python2.7/lib-old
/usr/lib/python2.7/lib-dynload
/usr/lib/python2.7/site-packages
/usr/lib/python2.7/site-packages