【问题标题】:Install Python 3.8 kernel in Google Colaboratory在 Google Colaboratory 中安装 Python 3.8 内核
【发布时间】:2020-07-01 15:35:24
【问题描述】:

我尝试使用 conda 安装新的 Python 版本 (3.8)。

!wget -O mini.sh https://repo.anaconda.com/miniconda/Miniconda3-py38_4.8.2-Linux-x86_64.sh
!chmod +x mini.sh
!bash ./mini.sh -b -f -p /usr/local

这很好用。我可以致电!python script.py 运行 3.8 版本。

所以,我试试用 Python 3.8 内核安装另一个 jupyter 内核。

!conda install -q -y --prefix /usr/local jupyter
!python -m ipykernel install --name "py38" --user

我检查内核是否已安装。

!jupyter kernelspec list

然后我把笔记本下载下来。打开文本编辑器将内核规范更改为

"kernelspec": {
  "name": "py38",
  "display_name": "Python 3.8"
}

这与以前的技巧相同,适用于 Javascript、Java 和 Golang。

然后我将编辑后的笔记本上传到 Google 云端硬盘。在 Google Colab 中打开笔记本。它找不到py38内核,所以它使用普通的python3内核。我再次运行所有这些单元格。

!wget -O mini.sh https://repo.anaconda.com/miniconda/Miniconda3-py38_4.8.2-Linux-x86_64.sh
!chmod +x mini.sh
!bash ./mini.sh -b -f -p /usr/local
!conda install -q -y --prefix /usr/local jupyter
!python -m ipykernel install --name "py38" --user

它像以前一样安装 Python 3.8 内核。我刷新浏览器,让它连接到新内核,希望它能像以前的 JavaScript、Java、Golang 内核一样工作。

它不起作用。它无法连接。这里是the notebook

任何帮助将不胜感激。

【问题讨论】:

标签: jupyter-notebook kernel google-colaboratory python-3.8


【解决方案1】:

我找到了如何在 Colab 上运行 Python 3.8 笔记本。

  • 安装 Anaconda3
  • 添加(假的)google.colab 库
  • 启动 jupyterlab
  • 使用 ngrok 访问它

这是代码

# install Anaconda3
!wget -qO ac.sh https://repo.anaconda.com/archive/Anaconda3-2020.07-Linux-x86_64.sh 
!bash ./ac.sh -b

# a fake google.colab library
!ln -s /usr/local/lib/python3.7/dist-packages/google \
       /root/anaconda3/lib/python3.8/site-packages/google

# start jupyterlab, which now has Python3 = 3.8
!nohup /root/anaconda3/bin/jupyter-lab --ip=0.0.0.0&

# access through ngrok, click the link
!pip install pyngrok -q
from pyngrok import ngrok
print(ngrok.connect(8888))

【讨论】:

  • 这是人类历史上最伟大的成就 :) 非常感谢
  • 但我无法导入库,import boto3 给出错误模块未找到
  • !/root/anaconda3/bin/pip install boto3 这个也可以
  • os.environ['PATH'] = '/root/anaconda3/bin:' + os.environ['PATH'] 会将新的 pip 和 conda 路径添加到您的 jupyter notebook 环境中
  • 嗨@korakot 这似乎不像我应该向我抛出的那样工作:与44ee-xx-xxx-xx-xxx.ngrok.io的连接已成功通过隧道连接到您的ngrok客户端,但客户端未能建立连接到本地地址localhost:8000。确保 Web 服务正在 localhost:8000 上运行,并且它是一个有效的地址。遇到的错误是:dial tcp 127.0.0.1:8000: connect: connection denied
【解决方案2】:

我们也可以使用 kora pip library

!pip install kora
import kora.install.py38

【讨论】:

  • 嘿 korakot,有使用 kora 的文档吗?
  • 我收到FileNotFoundError: [Errno 2] No such file or directory: '/usr/local/lib/python3.6/dist-packages/google' -> '/root/anaconda3/lib/python3.8/site-packages/google'
  • 我也得到: FileExistsError: [Errno 17] 文件存在:'/usr/local/lib/python3.6/dist-packages/google' -> '/root/anaconda3/lib/ python3.8/site-packages/google'
  • 顺便说一句,这实际上对我不起作用JSONDecodeError Traceback (most recent call last) <ipython-input-9-92b8be0c7a4b> in <module>() 1 get_ipython().system('pip install kora') ----> 2 import kora.install.py38 错误:/usr/lib/python3.7/json/decoder.py in raw_decode(self, s, idx) 353 obj, end = self.scan_once(s, idx) 354 except StopIteration as err: --> 355 raise JSONDecodeError("Expecting value", s, err.value) from None 356 return obj, end JSONDecodeError: Expecting value: line 1 column 1 (char 0)
  • 不幸的是,kora 库现在似乎已失效,无法按上述方式工作。唉!这很酷。
【解决方案3】:

更新:最初于 2020-03-29 回答,但此回答现已过时,请参阅上面的回答。

根据这些先前的答案*,Google 目前似乎只支持 python 2.7 和 python 3.6(截至 2020 年 3 月 29 日)。但是,如果您必须使用 python 3.8,您可以连接到本地运行时:https://research.google.com/colaboratory/local-runtimes.html

*以前的答案:

【讨论】:

  • 感谢您的信息。希望有一天我可以修复内核代码。至少现在我可以在 Colab 中将 Python 3.8 作为脚本运行。
  • 您介意分享一下您是如何将 3.8 作为脚本运行的吗?
  • 是的,我知道 SSH 和以这种方式安装是如何实现的,虽然是 hack,但 Colab 会在每次重新加载时删除环境。但是,您安装的任何东西都只出现在直接 ssh 环境中,并且似乎没有进入图形用户界面中 Colab 中的“内核”,这是最初的问题所问的。有关 SSH 的更多信息:imadelhanafi.com/posts/google_colal_server
【解决方案4】:

试试下面的代码。以上答案都不适合我。

!sudo apt-get update -y
!sudo apt-get install python3.9
!sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.7 1
!sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.9 2

Source.

【讨论】:

    【解决方案5】:

    我无法获得上述任何答案来为我工作。 所以我最初在 colab 上安装了 conda,并通过 conda 我安装了 python 3.8

    步骤:

    1. 安装 conda (Source)

      !wget https://repo.anaconda.com/miniconda/Miniconda3-py37_4.8.2-Linux-x86_64.sh
      
      !chmod +x Miniconda3-py37_4.8.2-Linux-x86_64.sh
      
      !bash ./Miniconda3-py37_4.8.2-Linux-x86_64.sh -b -f -p /usr/local import sys
      
      sys.path.append('/usr/local/lib/python3.7/site-packages/')
      
    2. 安装python 3.8

      !conda install python=3.8
      
    3. 查看python版本

      !python --version
      

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-05-29
      • 2020-05-05
      • 2018-06-06
      • 1970-01-01
      • 1970-01-01
      • 2020-06-16
      • 2019-08-23
      相关资源
      最近更新 更多