【问题标题】:Possible to run Python 2.7 and Python 3 in same notebook?可以在同一个笔记本中运行 Python 2.7 和 Python 3 吗?
【发布时间】:2017-08-23 18:57:44
【问题描述】:

这个问题类似于this question。我必须支持 Python 2.7 和 3。

我有一些用 python 3 编写的代码。这在我的 python 3 安装(win7 + jupyer-notebook 的 anaconda)上效果很好。我需要在 python 2.7 环境下对我的代码进行单元测试。

有没有一种简单的方法可以在我的 anaconda 设置上设置 2.7 环境而不会破坏我的工作安装?能够在 3 notebook 下使用魔法命令运行 python 2 真是太酷了!

【问题讨论】:

  • 可以同时安装python 2和3,它们的包是分开管理的
  • 您绝对可以在 Anaconda 下同时设置 python 2 和 python 3 环境,但是 notebook (Jupyter) 目前仅附加到单个内核,因此只能运行一次一个版本。如果您可以编辑 Python 2 代码,请按照您链接到的问题中的建议使用 six,以便您的代码在单个 Py 2 或 Py 3 环境中运行。你实际上想要完成什么?请举个例子。
  • 感谢您的提示!我维护这个包:github.com/twdb/sonde3 我有一个示例笔记本和单元测试(nosetests)。我的单元测试在 python3 中运行良好,但我需要在 2.7 环境中运行它来修复错误并运行测试。

标签: python python-2.7 python-3.x anaconda jupyter-notebook


【解决方案1】:

Step1:两个版本都下载anaconda

第二步:打开.bashrc

第 3 步:添加已安装的新 anaconda 的路径 例如:

export PATH="/home/paras/anaconda3/bin:$PATH"

第 4 步:现在将有 2 个导出路径,一个用于 python 2,一个用于 python 3。

评论你不想要的那个

【讨论】:

    【解决方案2】:

    是的,您可以在同一系统上安装 python 2.7 和 3。根据需要使用脚本顶部的 shebang 来区分两者。这些讨论还应该解决您的一些担忧 -

    How to install both Python 2.x and Python 3.x in Windows 7

    How do I run python 2 and 3 in windows 7?.

    【讨论】:

      【解决方案3】:

      您可以做的是创建 2 个 conda 虚拟环境并选择您希望 jupyter notebook 运行的内核。您应该安装nb_conda_kernels,以便您的环境被自动识别为不同的内核。遵循这个程序(在安装 anaconda/miniconda 之后):

      • 在任何环境之外,安装nb_conda_kernels:conda install -c conda-forge nb_conda_kernels
      • 在任何环境之外,安装jupyter:pip install jupyter
      • 创建一个虚拟环境并激活它
      • 在环境中,安装jupyter:pip install jupyter
      • 在任何环境中,运行jupyter notebook
      • 通过单击内核选项卡选择环境

      https://github.com/Anaconda-Platform/nb_conda_kernels

      【讨论】:

        【解决方案4】:

        以下是创建 Anaconda 虚拟环境以简化测试的步骤。

        1. 打开Anaconda Prompt 窗口。

        2. 键入conda create -n py27 python=2.7 anaconda 以创建一个新的 名为py27 的虚拟环境。您可以使用不同版本的 Python 创建任何新的虚拟环境,例如Python=3.6,用于测试目的。

        3. 启动根 Jupyter Notebook 以启动 Jupyter 服务器。

        4. 从 Jupyter 仪表板浏览器中打开包含要测试的代码的 Python 3 笔记本。

        5. 从菜单栏→内核→更改内核→{select target env}进行代码测试

        希望对您有所帮助。

        【讨论】:

          猜你喜欢
          • 2018-04-13
          • 1970-01-01
          • 1970-01-01
          • 2015-11-22
          • 2016-06-18
          • 2020-02-13
          • 2016-11-18
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多