自定义环境 jupyter notebook
customise environment jupyter notebook
我希望为我的 Jupyter notebook 创建一个自定义环境,而不必从会话中安装各种包。
按照https://dataplatform.cloud.ibm.com/docs/content/wsj/analyze-data/customize-envs.html的说明,我自定义了如下环境
# Modify the following content to add a software customization to an environment.
# To remove an existing customization, delete the entire content and click Apply.
# Add conda channels below defaults, indented by two spaces and a hyphen.
channels:
- defaults
# To add packages through conda or pip, remove the comment on the following line.
# dependencies:
# Add conda packages here, indented by two spaces and a hyphen.
# Remove the comment on the following line and replace sample package name with your package name:
- ffmpeg=4.2.2
# Add pip packages here, indented by four spaces and a hyphen.
# Remove the comments on the following lines and replace sample package name with your package name.
- pip:
- numpy==1.18.0
- pandas==1.0.3
- matplotlib==3.1.3
因为我的笔记本和 pandas
、numpy
和 matplotlib
的最新版本需要 mpeg 编解码器。
配置为
Environment Custom env
Creator Andrea Chiappo
Language Python 3.6
Hardware configuration 4 vCPU and 16 GB RAM
Software configuration Default Python 3.6 + DO
但是,一旦我启动会话,如果我尝试
import pandas as pd
print(pd.__version__)
我得到了包的默认版本,即 0.24.1
。
有人知道如何在我的 jypter 会话中启用此类 Python 软件包的最新版本吗?非常感谢
您需要取消注释行 # dependencies:
。并随意删除所有评论。这将有助于发现 YAML 格式的缩进问题。试试这个:
dependencies:
- ffmpeg=4.2.2
- pip
- pip:
- numpy==1.18.0
- pandas==1.0.3
- matplotlib==3.1.3
但是 从 PyPI 而不是 Anaconda 安装 numpy 和 pandas 的更新可能会导致问题。一些 Anaconda 包是为特定版本的 numpy 构建的,如果替换 numpy 可能会出现异常。我建议您在可行的情况下从 Anaconda 而不是 PyPI 获取包。在 Python 笔记本中,您可以检查 conda
将应用哪些更改,如下所示:
!conda install --dry-run numpy=1.18
pandas 和 matplotlib 也是如此。或者您使用相同的命令指定所有三个。虽然不是很明显,但哪个包更改会导致引入依赖项更新。
!conda install --dry-run numpy=1.18 pandas=1.0 matplotlib=3.1
我没有尝试是否可以从 Anaconda 获得您要安装的确切修复级别。如果没有,或者如果某些组合不起作用(例如,当 Anaconda 不再为 Python 3.6 构建新的软件包版本时),您可以选择是否要使用 Anaconda 提供的内容,或者是否从 PyPI 获取包并希望没有损坏。
PS:
在上面的自定义中,我添加了 pip
依赖项作为样式问题。当 pip
未列为依赖项时,较新版本的 conda 会抱怨有 pip:
部分。当我们在 WS Cloud 中推出新的运行时时,他们将使用更新版本的 conda。
我希望为我的 Jupyter notebook 创建一个自定义环境,而不必从会话中安装各种包。
按照https://dataplatform.cloud.ibm.com/docs/content/wsj/analyze-data/customize-envs.html的说明,我自定义了如下环境
# Modify the following content to add a software customization to an environment.
# To remove an existing customization, delete the entire content and click Apply.
# Add conda channels below defaults, indented by two spaces and a hyphen.
channels:
- defaults
# To add packages through conda or pip, remove the comment on the following line.
# dependencies:
# Add conda packages here, indented by two spaces and a hyphen.
# Remove the comment on the following line and replace sample package name with your package name:
- ffmpeg=4.2.2
# Add pip packages here, indented by four spaces and a hyphen.
# Remove the comments on the following lines and replace sample package name with your package name.
- pip:
- numpy==1.18.0
- pandas==1.0.3
- matplotlib==3.1.3
因为我的笔记本和 pandas
、numpy
和 matplotlib
的最新版本需要 mpeg 编解码器。
配置为
Environment Custom env
Creator Andrea Chiappo
Language Python 3.6
Hardware configuration 4 vCPU and 16 GB RAM
Software configuration Default Python 3.6 + DO
但是,一旦我启动会话,如果我尝试
import pandas as pd
print(pd.__version__)
我得到了包的默认版本,即 0.24.1
。
有人知道如何在我的 jypter 会话中启用此类 Python 软件包的最新版本吗?非常感谢
您需要取消注释行 # dependencies:
。并随意删除所有评论。这将有助于发现 YAML 格式的缩进问题。试试这个:
dependencies:
- ffmpeg=4.2.2
- pip
- pip:
- numpy==1.18.0
- pandas==1.0.3
- matplotlib==3.1.3
但是 从 PyPI 而不是 Anaconda 安装 numpy 和 pandas 的更新可能会导致问题。一些 Anaconda 包是为特定版本的 numpy 构建的,如果替换 numpy 可能会出现异常。我建议您在可行的情况下从 Anaconda 而不是 PyPI 获取包。在 Python 笔记本中,您可以检查 conda
将应用哪些更改,如下所示:
!conda install --dry-run numpy=1.18
pandas 和 matplotlib 也是如此。或者您使用相同的命令指定所有三个。虽然不是很明显,但哪个包更改会导致引入依赖项更新。
!conda install --dry-run numpy=1.18 pandas=1.0 matplotlib=3.1
我没有尝试是否可以从 Anaconda 获得您要安装的确切修复级别。如果没有,或者如果某些组合不起作用(例如,当 Anaconda 不再为 Python 3.6 构建新的软件包版本时),您可以选择是否要使用 Anaconda 提供的内容,或者是否从 PyPI 获取包并希望没有损坏。
PS:
在上面的自定义中,我添加了 pip
依赖项作为样式问题。当 pip
未列为依赖项时,较新版本的 conda 会抱怨有 pip:
部分。当我们在 WS Cloud 中推出新的运行时时,他们将使用更新版本的 conda。