2012-07-12 81 views

回答

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 

OK,現在...

(晚飯休息高潮)

現在,安裝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創建的pyflakes.pyc:\ Python27 \ Scripts目錄。


人們可能還想創建一個.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 

OK,就是這樣。

+0

感謝的人這個工作! – Lorenzo 2012-09-08 00:26:15

+0

剛剛從'vim'調用'%〜dp0'語法對我來說不起作用,所以我用'c:\ Python27 \ Scripts'替換了它,現在就可以了。謝謝! – hwjp 2013-01-18 18:12:13

6

也許這個問題是有點老了,因爲跑「PIP安裝pyflakes」準確無誤地運行在Windows上,我...