【问题标题】:How can I get pyflakes to run on Windows?如何让 pyflakes 在 Windows 上运行?
【发布时间】:2012-07-12 02:26:28
【问题描述】:

无法让 pyflakes 在 Windows 上运行。

在 Windows 上没有 apt install ,所以......该怎么办?

【问题讨论】:

    标签: python windows pyflakes


    【解决方案1】:

    也许这个问题有点老了,因为在 Windows 上运行“pip install pyflakes”对我来说完美无缺...

    【讨论】:

      【解决方案2】:

      从 Christoph Gohlke 的优秀 windows package repository 中获取 windows base package。它包括 pyflakes。

      【讨论】:

        【解决方案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
        

        好的,就是这样。

        【讨论】:

        • 今天%~dp0 语法在从 vim 调用时对我不起作用(它在 dos 中起作用),所以我用 c:\Python27\Scripts 替换它,现在没问题了。谢谢!
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-01-16
        • 2011-11-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多