在 Google Colaboratory 中安装 Python 3.8 内核

Kor*_*ich 19 kernel jupyter-notebook google-colaboratory python-3.8

我尝试使用 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
Run Code Online (Sandbox Code Playgroud)

这工作正常。我可以打电话!python script.py来运行 3.8 版本。

因此,我尝试使用 Python 3.8 内核安装另一个 jupyter 内核。

!conda install -q -y --prefix /usr/local jupyter
!python -m ipykernel install --name "py38" --user
Run Code Online (Sandbox Code Playgroud)

我检查内核是否已安装。

!jupyter kernelspec list
Run Code Online (Sandbox Code Playgroud)

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

"kernelspec": {
  "name": "py38",
  "display_name": "Python 3.8"
}
Run Code Online (Sandbox Code Playgroud)

这与之前使用 Javascript、Java 和 Golang 的技巧相同。

然后我将编辑后的笔记本上传到 Google Drive。在 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
Run Code Online (Sandbox Code Playgroud)

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

它不起作用。它无法连接。这是笔记本

任何帮助,将不胜感激。

Kor*_*ich 22

我已经找到了如何在 Colab 上运行 Python 3.8 notebook。

  • 安装 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))
Run Code Online (Sandbox Code Playgroud)

  • 这是人类历史上最伟大的成就:)非常感谢 (8认同)
  • `os.environ['PATH'] = '/root/anaconda3/bin:' + os.environ['PATH']` 会将新的 pip 和 conda 路径添加到您的 jupyter 笔记本环境中 (4认同)
  • `!/root/anaconda3/bin/pip install boto3` 这也有效 (2认同)

poo*_*ert 16

我们也可以使用 kora pip 库

!pip install kora
import kora.install.py38
Run Code Online (Sandbox Code Playgroud)

  • 顺便说一句,这实际上对我不起作用 `JSONDecodeError Traceback (most最近一次调用最后) <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)` (6认同)
  • 不幸的是,“kora”库现在似乎已不复存在并且无法按上述方式工作。唉! 太酷了。 (4认同)
  • 我得到 `FileNotFoundError: [Errno 2] No such file or directory: '/usr/local/lib/python3.6/dist-packages/google' -> '/root/anaconda3/lib/python3.8/site-packages /谷歌'` (3认同)
  • 不确定我是否给予你足够的信任@korakot。你真好心,让图书馆 (2认同)
  • 嘿 korakot,有使用 kora 的任何文档吗? (2认同)

ngr*_*ain 16

ipykernel在 Colab 笔记本中工作,您需要google-colab安装该软件包。如果不是,它会默默地失败(您可以通过运行注意到问题!python -m ipykernel_launcher)。

只需添加该行!conda install -q -y google-colab -c conda-forge即可。

!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 jupyter
!conda install -q -y google-colab -c conda-forge
!python -m ipykernel install --name "py38" --user
Run Code Online (Sandbox Code Playgroud)

您可以在这个固定笔记本中测试此解决方案

安装内核后,不要忘记重新加载浏览器页面(如原始帖子中所述)。

  • 安装内核后需要重新加载浏览器页面。 (4认同)
  • 对于那些阅读答案而不是问题的人(比如我):此解决方案仅适用于**编辑的笔记本**。只需复制并执行此代码即可安装新的 python(“!python -V”返回 3.8.1),但**不会**更改笔记本的运行时(“import sys; sys.version”返回 3.7.13)。 (3认同)
  • 使用此方法 pip 安装多个包后,会出现“ModuleNotFoundError:没有名为 *package x* 的模块”。zarr、rasterio、rasterio.features、rioxarray 作为 rio、上下文作为 cx、stackstac 等等。 (2认同)

归档时间:

查看次数:

19123 次

最近记录:

5 年,2 月 前