小编典典

如何将python从3.7降级到3.6

python

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

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


阅读 2562

收藏
2020-12-20

共1个答案

小编典典

这是一个规范的摘要,总结了针对运行Python的各种操作系统的不同解决方案。接下来是Microsoft Windows,Linux,macOS和Misc的可能性。

如前所述,这些只是可能性-我决不声称有完整的清单。

微软Windows
选项1
通常,建议使用虚拟环境(我强烈建议查看官方Python文档)。使用这种方法,您可以轻松设置特定于项目的Python版本(以及库)。易于管理,是最好的部分:互联网上有很多关于如何实现此目标的教程:

在Windows上将VirtualEnv与多个Python版本一起使用
https://www.freecodecamp.org/news/installing-multiple-python-versions-on-windows-using-virtualenv/
等等
1.)打开命令提示符(“ cmd”)并输入pip install virtualenv。

2.)通过https://www.python.org/downloads/release安装所需的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/重新安装所需的Python版本。要删除“旧”版本,请转到Control Panel-> “Uninstall a program”-> Search for “Python” -> Right-click on the Python name-> Uninstall。请记住,Python通常存储了一个PATH变量,因此您也应该将其删除-为此,请检查以下链接:

https://support.foundry.com/hc/en-us/articles/209642805-Q100127-How-to-delete-unset-environment-variables
通过批处理从%path%变量中删除不需要的路径名
现在,再次检查是否有剩余文件用于存储Python。通常情况下,你可以在任找到所有的Python文件C:\Program Files (x86)\Pythonxx,C:\Users\username\AppData\Local\Programs\Pythonxx或C:\Pythonxx或全部。您可能已将其安装在另一个目录中-检查它曾经在哪里。

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

选项3
这种方法与第二种方法非常相似-您基本上可以卸载旧的方法,然后将其替换为您喜欢的版本。改变其关于如何卸载不需要的Python发行部分的唯一的事:简单的执行Python3安装您最初用来安装Python(它通常保存在你的Python目录如上所述,以获得更多帮助检查出这个)。您可以在其中找到的选项repair or uninstall,选择uninstall,然后按照通过卸载程序提供的步骤进行操作。

无论您如何卸载Python(有关此主题的资源很多,例如,有关问题或在Stack Exchange网站的“超级用户”上发布了名为Vincent Tang的用户的问题线程),只需重新安装所需的Python通过遵循中提到的步骤的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上走过艰难的路,可以检查一下它们:

如何在Windows上将Python版本从3.8降级到3.7?
在给定的conda环境中将python版本从3.8降级到较低版本
选项5
接下来的事情并不是经典意义上的降级-尽管出于完整性考虑,我决定也提及这种方法。在Windows上,您还可以运行多个Python版本-StackOverflow上一个臭名昭著的线程处理了这个问题,因此,我礼貌地将您引到那里以供进一步阅读。

的Linux
选项1
与Windows的第三个选项非常相似。我强烈建议您使用虚拟环境,例如Anaconda。Anaconda(或简称conda)在Linux上也可用。在此处查看官方安装文档。再次强烈建议该线程介绍如何覆盖Python版本,以及如何使用所需的Python版本专门创建环境。

选项2
另一个强烈建议的虚拟环境是Pyenv。@Sawan Vaidya用户在此Stack Overflow问题中描述了有关如何借助来升级或降级Python版本的问题Pyenv。您可以全局设置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

现在,您可以任意下载的版本(添加/home//python3.6/bin),以PATH以及lib对LD_LIBRARY_PATH通过或者只是创建一个虚拟的环境:/home//python3.6/bin/python3.6 -m venv env-python3.6。一个非常美观和简单的解决方案,可以在您的系统上运行多个Python版本。

苹果系统
选项1
使用pyenv带有Homebrew-信用@Shayan与他的答复这里:

1.)安装pyenv有Homebrew:

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.)重新启动外壳程序,以便进行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指南中已经介绍的用法几乎相同。请在上方退房。

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

https://prodevsblog.com/questions/125949/macos-how-to-downgrade-homebrew-python/
https://www.xspdf.com/resolution/51291818.html
如何将python版本从3.8降级到3.7(Mac)
https://weknowinc.com/blog/running-multiple-python-versions-mac-osx
杂项
当写这篇文章时,我有一个不知道划界的问题。当查找操作系统时,Python当前支持的列表很多,包括我提到的Linux,Microsoft Windows和macOS,尽管显然不同的Linux发行版是单手处理的,例如CentOS,Arch Linux或Fedora应该值得现场-还是我应该为Windows 10、7等单独选择?

由于涉及诸如Homebrew,Conda之类的模块的高度重复性,我决定将列表限制为“主要的三个”操作系统-像Ubuntu这样的发行版(如何将我的python版本从3.7.5降级到ubuntu上的3.6.5),可以在Stack Overflow上轻松研究CentOS(如何在CentOS上降级python版本?)。通常,您可以从Linux选项卡为上述发行版应用解决方案。Windows和macOS(版本)也是如此。

2020-12-20