如何将python从3.7降级到3.6

Igo*_*sha 45 python python-3.x

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

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

J. *_*old 25

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

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


微软Windows

选项1

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

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/重新安装喜欢的版本。要删除“旧”版本,请转到Control Panel-> "Uninstall a program"-> Search for "Python" -> Right-click on the Python name-> Uninstall。请记住,Python 通常存储了一个 PATH 变量,因此您也应该将其删除 - 请查看以下链接:

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

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

选项 3

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

无论你如何卸载 Python(关于这个主题的资源很多,例如这个 Stack Overflow 问题或一个名为Vincent Tang的用户在 Stack Exchange 站点上发布的问题线程超级用户等),只需重新安装想要的按照 中提到的步骤操作 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 版本或创建本地环境 - 两者都在提到的线程中进行了解释。

选项 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
Run Code Online (Sandbox Code Playgroud)

选项 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
Run Code Online (Sandbox Code Playgroud)

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


苹果系统

选项1

使用pyenvwith Homebrew- 归功于@Shayan,他在此处回复:

1.)安装pyenvHomebrew

brew update
brew install pyenv
Run Code Online (Sandbox Code Playgroud)

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

 git clone https://github.com/pyenv/pyenv.git ~/.pyenv
Run Code Online (Sandbox Code Playgroud)

3.)定义环境变量如下

echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
Run Code Online (Sandbox Code Playgroud)

4.)重新启动 shell 以便PATH更改工作

exec "$SHELL"
Run Code Online (Sandbox Code Playgroud)

5.)检查可用的 Python 版本

pyenv install --list
Run Code Online (Sandbox Code Playgroud)

6.)安装想要的 Python 版本,例如 3.6

pyenv install 3.6
Run Code Online (Sandbox Code Playgroud)

7.)全局设置(你也可以只在特定环境下使用

pyenv global 3.6
Run Code Online (Sandbox Code Playgroud)

8.)检查系统正在使用的 Python 版本 - 您想要/降级的版本应显示在此处。

python3 --version
Run Code Online (Sandbox Code Playgroud)

选项 2

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

其他选项

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


杂项

在写这篇文章时,我遇到了不知道在哪里划线的问题。在查找 Python 当前支持的操作系统时,您会得到一个庞大的列表,包括我提到的那些,即LinuxMicrosoft WindowsmacOS,尽管显然不同的 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(版本)也是如此。


Jee*_*ddy 21

$ brew unlink python
$ brew install --ignore-dependencies https://raw.githubusercontent.com/Homebrew/homebrew-core/e128fa1bce3377de32cbf11bd8e46f7334dfd7a6/Formula/python.rb
$ brew switch python 3.6.5
$ pip install tensorflow
Run Code Online (Sandbox Code Playgroud)

  • 什么是酿造?不能用apt吗? (3认同)
  • 这很好用,但我建议在 `pip install tensorflow` 创建一个 virtualenv 或 conda env,然后激活它,最后使用 `pip install tensorflow` (2认同)
  • 小心。这可能会把一切搞砸,但什么也解决不了 (2认同)
  • 我收到此错误:调用“brew switch”已禁用!请改用 `brew link` @版本化公式。酿造链接 python@3.7 工作 (2认同)

小智 18

如果你正在与Anaconda合作,那么

conda install python=3.5.0
# or maybe 
conda install python=2.7.8
# or whatever you want....
Run Code Online (Sandbox Code Playgroud)

可能有用.

  • 没有在 Linux 上使用 `conda` 的其他解决方案吗? (3认同)
  • 我收到`UnsatisfiableError:发现以下规范存在冲突:-python = 3.5.0-ssl_match_hostname-&gt; python [version ='&gt; = 2.7,&lt;2.8.0a0']-&gt; readline = 7-ssl_match_hostname-&gt; python [version ='&gt; = 2.7,&lt;2.8.0a0']-&gt; tk = 8.6` (2认同)

ers*_*rsh 14

创建一个虚拟环境,安装然后切换到python 3.6.5

$ conda create -n tensorflow python=3.7
$ conda activate tensorflow
$ conda install python=3.6.5
$ pip install tensorflow
Run Code Online (Sandbox Code Playgroud)

当您想要使用 tensorflow 时激活环境


Sey*_*ams 8

使用conda创建python虚拟环境,然后安装tensorflow:

$ conda create -n [environment-name] python=3.6
# it may ask for installing python-3.6 if you don't have it already. Type "y" to proceed...
$ activate [environment-name]
$ pip install tensorflow
Run Code Online (Sandbox Code Playgroud)

从现在开始,您可以随时使用 tensorflow激活环境。

如果您没有 conda 包管理器,请先从这里下载:https : //www.anaconda.com/distribution


Ami*_*ngh 6

pyenv可用于Linux/MacOS中进行python版本管理。pyenv-win是它的分支pyenv,可以在 Windows 上使用。

\n

安装

\n

苹果系统

\n

在 Mac Catalina 上测试

\n
    \n
  1. 安装pyenv

    \n
    brew install pyenv\n
    Run Code Online (Sandbox Code Playgroud)\n
  2. \n
  3. 将以下内容添加到您的 shell 配置文件中:

    \n
      \n
    • .bashrc/ .bash_profile- 对于重击
    • \n
    • .zshrc- 对于 Zsh
    • \n
    \n
    export PYENV_ROOT="$HOME/.pyenv"\nexport PATH="$PYENV_ROOT/bin:$PATH"\neval "$(pyenv init -)"\n
    Run Code Online (Sandbox Code Playgroud)\n
  4. \n
  5. 重新启动你的外壳。启动新 shell 或exec "$SHELL"在当前 shell 中运行。

    \n
  6. \n
\n

Linux 子系统上的 Linux / Windows

\n

在 Arch Linux 上测试

\n
    \n
  1. 安装pyenv在您的系统上。

    \n
    curl https://pyenv.run | bash\n
    Run Code Online (Sandbox Code Playgroud)\n
  2. \n
  3. 按照与 MacOS 安装步骤 2 和 3 相同的步骤进行操作。

    \n
  4. \n
\n

视窗

\n
    \n
  1. 在 Windows 上安装pyenv-win

    \n

    在 Powershell 中

    \n
    pip install pyenv-win --target "$HOME\\.pyenv"\n
    Run Code Online (Sandbox Code Playgroud)\n

    在cmd.exe中

    \n
    pip install pyenv-win --target "%USERPROFILE%\\.pyenv"\n
    Run Code Online (Sandbox Code Playgroud)\n
  2. \n
  3. 使用 Powershell/终端设置环境变量。

    \n
    [System.Environment]::SetEnvironmentVariable(\'PYENV\',$env:USERPROFILE + "\\.pyenv\\pyenv-win\\","User")\n[System.Environment]::SetEnvironmentVariable(\'PYENV_HOME\',$env:USERPROFILE + "\\.pyenv\\pyenv-win\\","User")\n[System.Environment]::SetEnvironmentVariable(\'path\', $HOME + "\\.pyenv\\pyenv-win\\bin;" + $HOME + "\\.pyenv\\pyenv-win\\shims;" + $env:Path,"User")\n
    Run Code Online (Sandbox Code Playgroud)\n
  4. \n
  5. 关闭并重新打开您的终端。pyenv --version在终端上运行。

    \n

    A。如果返回值是已安装的 pyenv 版本,则继续下面的操作。\nb. 如果收到命令未找到错误,请确保通过 GUI 正确设置环境变量:此电脑 \xe2\x86\x92 属性 \xe2\x86\x92 高级系统设置 \xe2\x86\x92 高级 \xe2\x86\ x92 环境变量... \xe2\x86\x92 PATH\nc。如果收到命令未找到错误,并且您正在使用 Visual Studio Code 或其他带有内置终端的 IDE,请重新启动并重试。

    \n
  6. \n
  7. pyenv rehash从主目录运行。

    \n
  8. \n
\n

用法

\n

检查已安装的 python 版本

\n
curl https://pyenv.run | bash\n
Run Code Online (Sandbox Code Playgroud)\n

例子

\n
pip install pyenv-win --target "$HOME\\.pyenv"\n
Run Code Online (Sandbox Code Playgroud)\n

安装了特定的python版本

\n
pip install pyenv-win --target "%USERPROFILE%\\.pyenv"\n
Run Code Online (Sandbox Code Playgroud)\n

卸载已安装的Python版本

\n
[System.Environment]::SetEnvironmentVariable(\'PYENV\',$env:USERPROFILE + "\\.pyenv\\pyenv-win\\","User")\n[System.Environment]::SetEnvironmentVariable(\'PYENV_HOME\',$env:USERPROFILE + "\\.pyenv\\pyenv-win\\","User")\n[System.Environment]::SetEnvironmentVariable(\'path\', $HOME + "\\.pyenv\\pyenv-win\\bin;" + $HOME + "\\.pyenv\\pyenv-win\\shims;" + $env:Path,"User")\n
Run Code Online (Sandbox Code Playgroud)\n

将 python 版本设置为系统范围的 python 版本

\n
pyenv versions\n
Run Code Online (Sandbox Code Playgroud)\n

例子

\n
$ pyenv versions\n* system (set by /home/souser/.pyenv/version)\n  3.6.9\n
Run Code Online (Sandbox Code Playgroud)\n为目录及其所有子目录设置 python 版本\n
pyenv install <version-number>\n
Run Code Online (Sandbox Code Playgroud)\n

例子

\n
pyenv uninstall <version-number>\n
Run Code Online (Sandbox Code Playgroud)\n

有关更多详细信息,您可以查看 Github 存储库:pyenvpyenv-win

\n


小智 5

https://www.python.org/downloads/release/python-360/下载python 3.6.0

将其作为普通软件包安装。

cd /Library/Frameworks/Python.framework/Version

运行ls命令,所有安装的Python版本将在此处可见。

sudo rm -rf 3.7

现在检查版本,现在python3 -V是3.6。


Mat*_*aul 3

我在使用 python 3.7 安装tensorflow 时遇到问题,并按照这些说明使用 python3.6 设置了虚拟环境并使其正常工作

Download the Python3.6 tgz file from the official website (eg. Python-3.6.6.tgz)
Unpack it with tar -xvzf Python-3.6.6.tgz
cd Python-3.6.6
run ./configure
run make altinstall to install it (install vs altinstall explanation here 
Run Code Online (Sandbox Code Playgroud)

为tensorflow设置python3.6虚拟环境

如果您使用 Jupyter Notebook 或 Jupyter Lab,这有助于选择正确的虚拟环境

python -m venv projectname
source projectname/bin/activate
pip install ipykernel
ipython kernel install --user --name=projectname
Run Code Online (Sandbox Code Playgroud)

此时,您可以启动 jupyter,创建一个新笔记本并选择位于您环境中的内核。

虚拟环境和jupyter笔记本

希望这可以帮助


归档时间:

查看次数:

105508 次

最近记录:

6 年,8 月 前