如何并排安装python2和python3的pylint

时间:2015-04-15 22:49:23

标签: python virtualenv pylint

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

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

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

谢谢!

2 个答案:

答案 0 :(得分:0)

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

  1. 为python2创建一个虚拟环境,然后转到创建环境的bin /文件夹并重命名所有创建的脚本/包装器/二进制文件,以便所有这些脚本都有后缀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...
  6. 我没有安装pylint,但是为python2和python3准备了一个环境,其中包含一些python实用程序,如bpython(分别称为bpython2bpython3 pygmentize 1}}等)。我不认为pylint在这方面有所不同。

答案 1 :(得分:0)

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

  

如何并排安装两个单独版本的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