hje*_*mig 21 python pylint virtualenv
我是python和currenty的新手我正在尝试使用pylint来检查代码质量.我遇到了问题.我的pylint并没有指向virtualenv python解释器.这是我运行pylint --version时得到的输出
$ pylint --version
pylint 0.21.1,
astng 0.20.1, common 0.50.3
Python 2.6.6 (r266:84292, Jul 10 2013, 22:48:45)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-3)]
Run Code Online (Sandbox Code Playgroud)
在virtualenv我安装了python 2.7.如果有人可以指出我如何解决这个问题,那么会给你一些帮助.
Nou*_*him 41
一个便宜的技巧是使用virtualenv python运行(全局)pylint.您可以使用python $(which pylint)而不是仅使用pylint.在zsh上,你也可以这样做python =pylint.
Ste*_*nes 22
我很确定你需要在虚拟环境下安装pylint然后运行它的实例.
我建议任何在虚拟环境中工作的人都会创建一个批处理文件(在已知的位置或路径上),或者使用类似以下内容的bash脚本getlint.bat:
pip install pylint
Run Code Online (Sandbox Code Playgroud)
在激活虚拟环境后调用此方法会将pylint安装到该虚拟环境中.如果你有可能离线或者网络连接不佳,你可以在网络连接良好的情况下(可能每次为python 2和3进行一次):
mkdir C:\Some\Directory\You\Will\Leave\Alone
pip download --dest=C:\Some\Directory\You\Will\Leave\Alone pylint
Run Code Online (Sandbox Code Playgroud)
哪个会下载pylint及其依赖项C:\Some\Directory\You\Will\Leave\Alone,你可以修改getlint.bat为:
pip install pylint --find-links=C:\Some\Directory\You\Will\Leave\Alone
Run Code Online (Sandbox Code Playgroud)
然后它将使用预先下载的版本.
我也遇到了这个问题.我的解决方案只是编辑pylint程序的shebang,就像这样......(你的pylint路径可能与我的不同)
$ sudo vim /usr/bin/pylint
Run Code Online (Sandbox Code Playgroud)
更换:
#!/usr/bin/python
Run Code Online (Sandbox Code Playgroud)
附:
#!/usr/bin/env python
Run Code Online (Sandbox Code Playgroud)
如果你手动执行pylint,Noufal Ibrahim的答案是有效的.
如果从编辑器/ IDE执行pylint,则需要正确配置插件.
它可能会变得棘手.这可能被认为是每个IDE /插件的错误,但就是这样.
修改为在另一个答案中建议的/usr/bin/pylint写入修复了每次使用pylint(手动使用或任何编辑器集成).#!/usr/bin/env python
但是,至少在Debian中,使用#!/usr/bin/python是设计选择,而不是bug.我提供的链接并未解释其基本原理.pylint包的维护者不想移动到/usr/bin/pylint.
为了避免修改该系统文件,可以创建一个/usr/local/binin 的副本/usr/bin/pylint:
cp /usr/bin/pylint /usr/local/bin/pylint
vi usr/local/bin/pylint # Edit the file to use /usr/bin/env python
Run Code Online (Sandbox Code Playgroud)
这不会被pylint更新打破,但仍然侵犯了Debian的"强烈首选".
此方法需要root权限.非特权用户可以创建别名
alias pylint='/usr/bin/env python $(which pylint)'.
Run Code Online (Sandbox Code Playgroud)
#!/usr/bin/env python作为首选形式可能有充分的理由,尽管我不理解它们.
现在,我愿意妥协.使用非首选形式(创建#!/usr/bin/python或使用别名)允许我避免拉我的头发弄清楚如何正确配置我的linter(假设它甚至可行).
问题已在聊天中解决(评论中的链接).
问题在于使用sudo yum install pylint,因为它在全局环境中安装了pylint.解决方案是使用以下命令:
pip install -i http://f.pypi.python.org/simple pylint
请注意,-i作为常规索引的用法似乎打破了提问者.
| 归档时间: |
|
| 查看次数: |
18679 次 |
| 最近记录: |