【问题标题】:How to have two PYTHONPATHS for version 2 and 3如何为版本 2 和 3 提供两个 PYTHONPATHS
【发布时间】:2018-11-16 12:01:00
【问题描述】:

我有一个问题,我已经安装了 python3,它覆盖了 2.7 的默认 python 路径。因此,当我进入终端并输入“python”时,它会加载版本 3.6.5 而不是 2.7。如果我输入“python2.7 来显式运行 python,我会收到一个错误,指出它指向 3.6 站点包而不是 2.7。

derekchan@PandaMacPro:~/python$ python2.7 您的 PYTHONPATH 指向 Python 3.x 的站点包目录,但您是 运行 Python 2.x! PYTHONPATH 当前为:“/usr/local/lib/python3.6/site-packages” 你应该unset PYTHONPATH 来解决这个问题。

我查看了有关此问题的其他主题,但它并没有解决或帮助我的问题。这是一个简单的 PYTHONPATH 问题吗?

我只是希望能够输入“python”,它会加载 2.7 版而不是 3 版,并且没有与 python 包冲突的问题。

【问题讨论】:

  • 你可以尝试在你的linux机器上设置一个别名。 alias python=/usr/local/bin/python2.7.
  • 我已经阅读了许多线程和文章指出使用别名是不好的做法......这会导致 python 包冲突吗?
  • 即使我使用别名它仍然不能解决python2.7指向python 3 PYTHONPATH的问题。
  • 多个版本的python没有不同的PYTHONPATH变量

标签: python python-3.x macos python-2.7 pythonpath


【解决方案1】:

考虑使用像 Anaconda 这样带有内置包管理的发行版。使用 Anaconda,您可以轻松隔离您的 Python2 和 Python3 环境,而不必与PYTHONPATH

https://anaconda.org/

【讨论】:

  • 这是一个合理的选择。但是 id 宁愿直接解决这个问题,而不是使用“解决方法”
  • 如果你明白我的意思,这种事情会让我彻夜难眠……
  • IMO,与使用 Anaconda 相比,使用别名或修复 PYTHONPATH 更像是一种“解决方法”。我一直在使用 Anaconda,它非常有用,尤其是在我没有权限安装软件包的集群机器上,当我从我的 PC 中移动东西时,不得不处理依赖关系是一件痛苦的事情。使用 Anaconda,我只需将环境导出为 YAML 文件并在那里复制它
  • 我已经在使用 PyCharm,它可以让我轻松地在 2 和 3 之间切换。但我经常喜欢使用终端来编写我的 python 代码,这就是为什么 id 喜欢找出如何运行这两个版本而不必一直更改 PYTHONPATH。
  • 我完全同意戴文的观点。 Anaconda 使运行 python 以及创建和使用虚拟环境变得容易,如果在同一台机器上使用 Python2 和 Python3,您可能想要这样做
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-03-22
  • 2019-12-17
  • 1970-01-01
  • 2013-11-19
  • 1970-01-01
  • 2019-06-25
相关资源
最近更新 更多