安装 conda、pip 或 apt 包#
TLJH (The Littlest JupyterHub)
在同一个 conda 环境中启动所有用户。在此环境中安装的包/库可供 JupyterHub 上的所有用户使用。具有 管理员权限 的用户可以轻松安装包。
安装 pip 包#
pip 是从 Python 包索引 (PyPI) 安装 Python 包的推荐工具。PyPI 目前拥有近 145,000 个包,因此您需要的很多东西都可以在那里找到!
以管理员用户身份登录,并在 Jupyter Notebook 中打开一个终端。
如果您已经以管理员用户身份打开了终端,那么它也应该可以工作!
安装一个包!
sudo -E pip install numpy
这将从 PyPI 安装
numpy
库,并使其可供所有用户使用。注意
如果您收到类似于
sudo: pip: command not found
的错误消息,请确保您没有在sudo
之后缺少-E
参数。
安装 conda 包#
Conda 允许您安装新的语言(例如 Python、Node、R 等的新版本),以及这些语言中的包。对于许多科学软件,使用 conda 安装通常比使用 pip 安装更简单、更容易 - 特别是如果它链接到 C/Fortran 代码。
我们建议从 conda-forge 安装包,这是一个由社区维护的 conda 包存储库。
以管理员用户身份登录,并在 Jupyter Notebook 中打开一个终端。
如果您已经以管理员用户身份打开了终端,那么它也应该可以工作!
安装一个包!
sudo -E conda install -c conda-forge gdal
这将从
conda-forge
安装gdal
库,并使其可供所有用户使用。gdal
使用 pip 很难安装。注意
如果您遇到类似于
sudo: conda: command not found
的错误消息,请确保您在sudo
后没有遗漏-E
参数。
安装 apt 包#
apt 是 Ubuntu Linux 发行版 的官方包管理器。您可以安装实用程序(例如 vim
、sl
、htop
等)、服务器(postgres
、mysql
、nginx
等)以及 conda
中提供的更多语言(haskell
、prolog
、INTERCAL
)。一些第三方软件(例如 RStudio)以 .deb
文件的形式分发,这些文件是 apt
用于安装软件的文件。
您可以使用 Ubuntu 包搜索 搜索包 - 确保查看您正在使用的 Ubuntu 版本!
以管理员用户身份登录,并在 Jupyter Notebook 中打开一个终端。
如果您已经以管理员用户身份打开了终端,那么它也应该可以工作!
更新可用包列表。这将确保您从存储库中获取最新版本的包。
sudo apt update
安装您想要的包。
sudo apt install mysql-server git
这将安装(并启动)一个 MySQL 数据库服务器和
git
。
用户环境位置#
用户环境是在 /opt/tljh/user
中设置的 conda 环境,默认使用 python3
内核。所有用户都可以读取它,但只有具有 root 权限的用户才能写入它。这使得 JupyterHub 管理员(具有 sudo
的 root 权限)可以轻松地在用户环境中安装软件。
在 JupyterHub 外部访问用户环境#
我们将 /opt/tljh/user/bin
添加到所有 JupyterHub 用户的 $PATH
环境变量中,因此在用户环境中安装的所有内容都会自动对他们可用。如果您使用 ssh
访问您的服务器,则可以使用以下方法访问相同的环境:
export PATH=/opt/tljh/user/bin:${PATH}
现在,无论何时运行任何命令,都会先搜索用户环境,然后再搜索您的系统环境。因此,如果您运行 python3 <somefile>
,它将使用用户环境中安装的 python3
(/opt/tljh/user/bin/python3
),而不是系统环境中安装的 python3
(/usr/bin/python3
)。这通常是您想要的!
要使此更改“生效”,您可以在主目录中的 .bashrc
文件末尾添加该行。
使用 sudo
时,出于安全原因,$PATH
环境变量通常会被重置。这会导致类似于以下的错误消息:
sudo conda install -c conda-forge gdal
sudo: conda: command not found
使用 ssh
时,最常见且最便携的解决方法是:
sudo PATH=${PATH} conda install -c conda-forge gdal
升级到更新的 Python 版本#
所有新的 TLJH 安装都使用 miniconda 4.7.10,它为用户提供了一个 Python 3.7 环境。以前的 TLJH 安装使用 miniconda 4.5.4,这意味着一个 Python 3.6 环境。
要升级用户环境的 Python 版本,您可以:
在没有安装 TLJH 的机器上重新开始。
请参阅有关如何安装 TLJH 的 安装 部分。
手动升级 Python。
由于为现有安装升级 Python 可能会破坏在旧 Python 下安装的包,因此升级当前的 TLJH 安装不会升级用户环境的 Python 版本,但您可以手动执行此操作。
步骤
如果使用 ssh,请激活用户环境。如果终端是使用 JupyterHub 启动的,则可以跳过此步骤。
source /opt/tljh/user/bin/activate
获取当前已安装的 pip 包列表(以便您稍后在新的 Python 下安装它们)。
pip freeze > pip_pkgs.txt
更新环境中所有 conda 安装的包。
sudo PATH=${PATH} conda update --all
更新 Python 版本。
sudo PATH=${PATH} conda install python=3.7
安装之前保存的 pip 包。
pip install -r pip_pkgs.txt