无法在Windows上运行pyflakes。
在Windows上没有apt install
,所以...该怎么办?
答案 0 :(得分:6)
也许这个问题有点老了,因为运行“pip install pyflakes”在Windows上运行得很完美......
答案 1 :(得分:4)
从Christoph Gohlke的优秀windows base package获取windows package repository。它包括pyflakes。
答案 2 :(得分:3)
我从Pypi下载了pyflakes tgz文件(v0.5.0),并且可以使用a tar tool解压缩它。
现在我的目录看起来像这样:
C:\temp>dir pyflakes-0.5.0
Volume in drive C has no label.
Volume Serial Number is A421-40B4
Directory of C:\temp\pyflakes-0.5.0
07/11/2012 06:28 PM <DIR> .
07/11/2012 06:28 PM <DIR> ..
09/03/2011 10:09 AM <DIR> bin
07/11/2012 06:28 PM <DIR> build
09/03/2011 09:02 AM 1,057 LICENSE
09/03/2011 09:02 AM 1,696 NEWS.txt
09/03/2011 10:09 AM 763 PKG-INFO
09/03/2011 10:09 AM <DIR> pyflakes
09/03/2011 09:30 AM 1,075 setup.py
4 File(s) 4,591 bytes
5 Dir(s) 74,326,130,688 bytes free
接下来我尝试了显而易见的事情:运行setup.py
文件。它告诉我使用install
,所以
\python27\python.exe setup.py install
这给了我一个关于构建和安装模块的快乐信息,最终
Writing C:\Python27\Lib\site-packages\pyflakes-0.5.0-py2.7.egg-info
好的,现在......
(晚餐休息时间)
现在,安装pyflakes将一个名为“pyflakes”的文件放入c:\Python27\Scripts
。
要运行pyflakes检查器,请使用:
\Python27\python.exe \Python27\Scripts\pyflakes myfile.py
就是这样!有用。
但故事还有更多内容。文件c:\Python27\Scripts\pyflakes
的内容是python源代码。现在,您可能会认为,与没有.py扩展名的python模块有什么关系?该目录中的其他文件使用.py扩展名正确标记。只是感觉不对才能关闭扩展程序。他们为什么要那样做?如果您有创意并将名为“pyflakes”的文件重命名为“pyflakes.py”,然后尝试运行该文件,则会出现此错误:
C:\dev\python>\Python27\python.exe \Python27\Scripts\pyflakes.py import1.py
Traceback (most recent call last):
File "\Python27\Scripts\pyflakes.py", line 3, in <module>
from pyflakes.scripts.pyflakes import main
File "C:\Python27\Scripts\pyflakes.py", line 3, in <module>
from pyflakes.scripts.pyflakes import main
ImportError: No module named scripts.pyflakes
问题是(重命名的)pyflakes.py文件与它导入的模块(位于c:\Python27\Lib\site-packages\pyflakes
)之间的命名冲突。所以,不要那样重命名。如果你坚持使用.py扩展名,那么选择pyflakes.py以外的名称作为名称 - 例如,pyflakes_driver.py就可以了。有些人使用runpyflakes.py。
如果您遇到上述问题,还需要删除可能已在c:\ Python27 \ Scripts目录中创建的pyflakes.pyc。
人们可能还想创建一个.bat或.cmd文件来启动pyflakes。为了解决这个问题,我创建了c:\ Python27 \ pyflakes.cmd,其中包含以下内容:
@echo off
SETLOCAL
if _%1==_ goto USAGE
%~dp0\python.exe %~dp0\Scripts\pyflakes %*
goto ALL_DONE
:USAGE
echo usage: pyflakes ^<file^> [^<optionalargs^>]
echo run the pyflakes syntax checker on a python source file.
:ALL_DONE
ENDLOCAL
好的,就是这样。