如何将python从3.7降级到3.6

新手上路,请多包涵

我正在尝试安装 tensorflow,但它需要安装 Python 3.6,而我只安装了 Python 3.7。我尝试使用 brew 和 pyenv 进行切换,但它不起作用。

有谁知道解决这个问题的方法?

原文由 Igor Kvasha 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.5k
1 个回答

这是一个规范的摘要,它总结了针对运行 Python 的各种操作系统的不同解决方案。以下是 Microsoft WindowsLinuxmacOSMisc 的可能性。

如前所述,这些只是 _可能性_——我绝不声称拥有完整的清单。


微软Windows

选项1

一般来说,建议使用虚拟环境(我强烈建议查看 Python 官方文档)。使用这种方法,您可以轻松地设置项目特定的 Python 版本(以及库)。易于管理和最好的部分:互联网上有很多关于如何处理这个问题的教程:

1.) 打开命令提示符 (“cmd”) 并输入 pip install virtualenv

2.) 通过 https://www.python.org/downloads 安装你想要的 Python 版本;记住: 不要添加到 PATH

3.) 在命令提示符中输入: virtualenv \path\to\env -p \path\to\python_install.exe ,而 \path\to\env 应该是您的虚拟环境所在的路径 \path\to\python_install.exe (大概)安装的 Python 版本驻留。

4.) 完成!您现在已经设置了一个虚拟环境!现在,要激活虚拟环境,请执行位于 \path\to\env\Scripts\activate.bat 中的批处理文件。 (参见 本网站官方 Python 指南

选项 2

基本选项是卸载不需要的 Python 版本并从 https://www.python.org/downloads/ 重新安装最喜欢的版本。 To remove the “old” version go to Control Panel -> "Uninstall a program" -> Search for "Python" -> Right-click on the Python name -> Uninstall 。请记住,Python 通常存储一个 PATH 变量,因此您也应该将其删除 - 检查以下链接:

现在仔细检查是否有任何剩余的文件用于存储 Python。通常,您可以在 C:\Program Files (x86)\PythonxxC:\Users\username\AppData\Local\Programs\PythonxxC:\Pythonxx 或所有这些文件中找到所有 Python 文件。您可能已将它安装在另一个目录中 - 检查它曾经在哪里。

现在卸载后只需转到 下载页面 并按照通常的安装过程重新安装所需的版本。 我不会详细介绍如何安装 Python。 .最后,您可以通过打开命令提示符并键入 python -V 来检查当前安装的版本。

选项 3

这种方法与第二种方法非常相似——您基本上是卸载旧版本并将其替换为您喜欢的版本。唯一改变它的部分是关于如何卸载不需要的 Python 发行版:只需执行您最初用于安装 Python 的 Python3 安装程序(如上所述,它通常存储在您的 Python 目录中;如需更多帮助,请查看 )。那里有一个选项 repair or uninstall ,选择 uninstall 继续,然后按照卸载程序提供的步骤操作。

无论您如何卸载 Python(有很多关于此主题的资源,例如 这个 Stack Overflow 问题 或用户在 Stack Exchange 站点超级用户上发布的名为 Vincent Tang问题线程 等),只需重新安装想要的Python 版本按照 Option 2 中提到的步骤操作。

选项 4

选项 4 涉及 Anaconda。请参阅 此站点 了解如何在 Windows 上安装 Anaconda。 Step 9 很重要,因为您不想将其安装为默认 Python - 您想要运行 多个版本的 Python

选择是否将 Anaconda 注册为默认 Python。除非您计划安装和运行多个版本的 Anaconda 或多个版本的 Python,否则请接受默认值并选中此框。

按照我上面链接的官方教程进行操作。

完成后,您可以在 anaconda 提示符下单独创建以下命令:要覆盖 系统 默认的 python 版本,请使用 conda install python=3.6 或创建虚拟环境,继续使用 conda create -n $PYTHON36_ENV_NAME python=3.6 anaconda$PYTHON36_ENV_NAME 是您可以设置的自定义名称。归功于应得的功劳——来自 该线程 的用户 @CermakM 强烈影响了该片段。

在我的研究中,我遇到了一堆有用的 Stack Overflow 线程——如果你在艰难的道路上使用 Anaconda,你可以检查一下它们:

选项 5

接下来的内容不是经典意义上的降级——尽管为了完整起见,我决定也提及这种方法。在 Windows 上,您还可以运行多个 Python 版本——StackOverflow 上一个臭名昭著的线程处理了这个问题,因此我礼貌地推荐您到 那里 进一步阅读。


Linux

选项1

非常类似于 Windows 的第三个选项我强烈建议您使用虚拟环境,例如 Anaconda。 Anaconda - 或简称 conda - 在 Linux 上也可用。在 此处 查看官方安装文档。再次强烈建议 此线程 如何覆盖 Python 版本,分别如何使用您想要的 Python 版本专门创建环境。

选项 2

另一个高度推荐的虚拟环境是 Pyenv 。用户 @Sawan Vaidya这个 Stack Overflow 问题 中描述了如何在 Pyenv 的帮助下升级或降级 Python 版本。您可以全局设置 Python 版本或创建本地环境 - 两者均在上述线程中进行了说明。

选项 3

另一位用户 @Jeereddy 建议使用软件包管理系统 Homebrew 。他在 当前这个问题 中彻底解释了这个选项:

 $ brew unlink python
$ brew install --ignore-dependencies https://raw.githubusercontent.com/Homebrew/homebrew-core/e128fa1bce3377de32cbf11bd8e46f7334dfd7a6/Formula/python.rb
$ brew switch python 3.6.5

选项 5

无需重新发明轮子 - 这个线程 充满了许多漂亮的跑步方法,例如 @Sidharth Taneja 的方法。

  1. https://www.python.org/downloads/release 下载你想要的 Python 版本并将其安装为 normal package
  2. 运行 cd /Library/Frameworks/Python.framework/Version
  3. 执行 ls 列出所有已安装的 Python 版本
  4. 运行 sudo rm -rf 3.7 ,删除 Python 版本 3.7 - 可以对要删除的任何版本重复
  5. 检查 python3 -v ,它应该显示您最初想要安装的版本

选项 6

这个线程 是什么金矿!正如 @nondetermistic 所深入描述的那样(直接链接到 他的帖子):

安装 Python 源代码,因为它是这样的:

 #Taken Python 3.6 as an example
$ mkdir /home/<user>/python3.6
$ ./configure --prefix=/home/<user>/python3.6/
$ make altinstall

You’re now able to either add the downloaded version ( /home/<user>/python3.6/bin ) to PATH as well as lib to LD_LIBRARY_PATH or just create a虚拟环境: /home/<user>/python3.6/bin/python3.6 -m venv env-python3.6 。一个非常美观和简单的解决方案,可以在您的系统上运行 _多个 Python 版本_。


苹果系统

选项1

使用 pyenvHomebrew - 感谢@Shayan 回复:

1.) 安装 pyenvHomebrew

 brew update
brew install pyenv

2.) 克隆 GitHub 存储库以获得最新的 pyenv 版本:

  git clone https://github.com/pyenv/pyenv.git ~/.pyenv

3.) 定义环境变量如下

echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile

4.) 重新启动 shell 所以 PATH 改变工作

exec "$SHELL"

5.) 检查可用的 Python 版本

pyenv install --list

6.) 安装所需的 Python 版本,例如 3.6

 pyenv install 3.6

7.) 全局设置( _你也可以继续只在特定环境中使用它_)

 pyenv global 3.6

8.) 检查系统使用的 Python 版本——你想要的/降级的版本应该显示在这里。

 python3 --version

选项 2

与之前的方法类似,您也可以在 macOS 上下载 Anaconda 。如需安装指南,请单击 此处。用法与我在 Option 4 Windows 指南的 --- 中描述的几乎相同。请查看上面的内容。

其他选项

在这种情况下,它变得非常重复。我建议您查看以下资源以进一步阅读:


杂项

写这篇文章时,我遇到了不知道在哪里画线的问题。在查找 Python 当前支持的操作系统时,您会得到一个巨大的列表,包括我提到的那些,即 LinuxMicrosoft WindowsmacOS ,尽管显然不同的 Linux 发行版是单独处理的,例如 CentOS、Arch Linux 或 Fedora 应该值得spot - 或者我应该为 Windows 10、7 等做单独的选择?

由于 Homebrew、Conda 等模块的高度重复性,我决定将我的列表限制在“主要的三个”操作系统——像 Ubuntu 这样的发行版( 如何将我的 python 版本从 3.7.5 降级到 ubuntu 上的 3.6.5 ),CentOS( How to downgrade python version on CentOS? )可以很容易地在 Stack Overflow 上进行研究。大多数情况下,您可以从 Linux 选项卡为所述发行版应用解决方案。 Windows 和 macOS(版本)也是如此。

原文由 J. M. Arnold 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题