我刚刚通过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