代码之家  ›  专栏  ›  技术社区  ›  bers

我可以使用pip在python 3中安装python 2包吗?

  •  2
  • bers  · 技术社区  · 7 年前

    在我的python 3.6安装中,我刚尝试过

    pip install nipet
    

    但我明白了:

    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Users\me\AppData\Local\Temp\pip-install-eef9zqvc\nipet\setup.py", line 64
    SyntaxError: Missing parentheses in call to 'print'. Did you mean print('e> the current operating system is not supported.')?
    

    这很可能与 nipet 针对python 2.x。

    我试过了 2to3 在这个包的某些部分,注意到所有的不兼容性都归结为 print 声明。但是,因为它是 setup.py 但失败了,我甚至无法将所有文件安装到正确的运行位置。 2to3 在。

    有什么 pip 包装材料 2to3 这将允许我安装一个python 2.x包而不需要太多的手动操作吗?

    2 回复  |  直到 7 年前
        1
  •  4
  •   Jérôme    7 年前

    医生:不,你不能。


    nipet 与python 3不兼容。正如@deceze在评论中所说,您需要在尝试安装之前修复它。皮普做不到这项工作。

    签出代码并将其设置为python 3(这可能涉及2to3,也可能涉及手动更改)。然后重试安装。如果您对所得到的感到满意,可以将python 3端口提交给维护人员。

    另外,nipet应该被固定为只指定它是python 2,这样它只在pypi上被列为python 2,pip3甚至不尝试安装if。您应该在BugTracker中打开一个问题,要求维护人员修复它。或者甚至发送一个请求,在setup.py中添加适当的分类器,如果您愿意的话。

        2
  •  1
  •   bers    7 年前

    虽然@j_)r_´me写的是真的,但并非所有组件都是真的。为了完整起见,我想提一下 use_2to3 选择 setuptools 这是我最想要的。(不过,它们似乎不接触setup.py)。

    以下是更多信息:

    作为构建过程的一部分,SETUPTOOLS提供了在代码上调用2to3的功能,方法是将关键字参数use 2to3设置为true,但SETUPTOOLS项目强烈建议使用six、future或其他兼容库来开发统一的代码库。

    https://setuptools.readthedocs.io/en/latest/python3.html