在 Google Colaboratory 中安装 Python 3.8 内核

Posted

技术标签:

【中文标题】在 Google Colaboratory 中安装 Python 3.8 内核【英文标题】:Install Python 3.8 kernel in Google Colaboratory 【发布时间】: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

任何帮助将不胜感激。

【问题讨论】:

这就是它与 ijavascript 一起工作的方式 colab.research.google.com/gist/korakot/… 这就是它与Java的工作方式colab.research.google.com/github/vistec-AI/colab/blob/master/… 这是 Golang。 colab.research.google.com/drive/… python 3.9 怎么样?请参阅 kora 中的问题:github.com/korakot/kora/issues/21 仅供参考,建议的答案之一不再有效,请参阅此 SO 以希望解决它:***.com/questions/69487937/… 【参考方案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

*以前的答案:

Use latest Python version on Google Colab How to force google colab to run in particular python version Google Colab - Choosing specific Python version Is there a way to use Python 3.5 instead of 3.6? Python 3.5 in google colab

【讨论】:

感谢您的信息。希望有一天我可以修复内核代码。至少现在我可以在 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

步骤:

    安装 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/')
    

    安装python 3.8

    !conda install python=3.8
    

    查看python版本

    !python --version
    

【讨论】:

以上是关于在 Google Colaboratory 中安装 Python 3.8 内核的主要内容,如果未能解决你的问题,请参考以下文章

无法在 google colab 中安装 textract

检查是不是在 iOS 6 中安装了 Google 地图应用

如何在 Google Dataproc 集群中安装 python 包

如何在 Google Colab GPU 中安装 CUDA

在 localhost 目录中安装 Google Drive

在 localhost 目录中安装 Google Drive