【问题标题】:How to install pylint for python2 and python3 side by side如何并排安装 python2 和 python3 的 pylint
【发布时间】:2015-04-15 22:49:23
【问题描述】:

我有一个包含 python2 和 python3 代码的代码库。我想制作一个脚本,它将在所有 python2 和所有 python3 文件上运行 pylint,最好是在单个 virtualenv 中。

我可以通过注释目录来确定要运行哪个版本的 pylint(例如,将 .pylint3 文件添加到需要运行 python3 pylint 的目录或类似的东西)。但是,我不知道如何并排安装两个单独版本的 pylint,无论是在整个操作系统中还是在 virtualenv 中,而不做一些手动烦人的事情。

有没有一种好方法可以让两个版本的 pylint 在同一个 virtualenv 中并排运行?

谢谢!

【问题讨论】:

    标签: python virtualenv pylint


    【解决方案1】:

    我只解决你问题的这一部分:

    如何并排安装两个不同版本的 pylint,无论是在 整个操作系统……

    我已经在/usr/local/bin/pylint 有一个现有的 pylint 安装(可能来自 Python 2 的 pip),并在同一目录中安装了一个 pip python3。

    所以我做了以下事情:

    cp /usr/local/bin/pylint ~/Back/    
    pip3 install pylint
    mv /usr/local/bin/pylint /usr/local/bin/pylint3
    cp ~/Back/pylint  /usr/local/bin/pylint
    

    【讨论】:

      【解决方案2】:

      通常不同主要版本的 python 模块不会相互干扰。唯一的问题是公用事业。所以配方如下:

      1. 为一个python2创建一个虚拟环境,然后进入创建环境的bin/文件夹,重命名所有创建的scripts/wrappers/binaries,使它们都具有后缀2
      2. 重复创建虚拟环境。 在同一目录中,但用于 python3。再次,转到创建的虚拟环境的 bin/ 子文件夹,并将所有新创建的脚本重命名为后缀为 3
      3. 确保脚本中的所有 hashbang 调用适当的 python 版本。
      4. 现在您应该按照文档的建议source <virtenv>/bin/activate
      5. 现在您可以在虚拟环境中安装 pylint,您需要对 python2 和 python3 重复该过程,再次将 <virtualenv>/bin/ 中的二进制文件分开。为此,请使用 pip2pip3python2 -m pip.../python3 -m pip...

      我还没有安装 pylint,但是已经为 python2 和 python3 准备了一个环境,其中包含一些 python 实用程序,如bpython(分别称为bpython2bpython3pygmentize 等)。我不认为pylint 在这方面有什么不同。

      【讨论】:

      • 是的,这应该可以,但它正在做我希望避免的那种手动操作。
      • 创建一个脚本,不要太复杂。或者,如果实用程序支持这种执行方式,则只需使用 python<ver> -m <utilmod>(pylint 可以作为 python -m pylint ... 运行)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-24
      • 2016-12-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多