💻 安装与基础配置
你可以根据需求选择将JupyterLab安装到系统中,或是在conda的虚拟环境中。
方案一:直接安装到Linux系统
这种安装方式最直接,适合个人使用或开发环境。
-
安装JupyterLab
建议使用Python的包管理器pip进行安装。如果下载速度慢,可以使用清华大学的镜像源加速。bashpip install jupyterlab -i https://pypi.tuna.tsinghua.edu.cn/simple如果你偏好使用
conda,且已安装Anaconda/Miniconda,也可以运行以下命令:bashconda install -c conda-forge jupyterlab
方案二:在conda虚拟环境中安装
这种方式能将项目依赖隔离开来,确保环境清洁,非常适合多项目并行开发。如果你需要在多个环境中切换使用JupyterLab,请参考本方案的最后一部分。
-
创建并激活环境
创建并激活一个名为
my_jupyter_env的新环境,你可以根据需要修改环境名。bashconda create --name my_jupyter_env python=3.10 conda activate my_jupyter_env -
在环境中安装JupyterLab
在激活的虚拟环境中执行安装命令。
bashconda install jupyter jupyterlab -
为环境注册内核(可选但推荐)
这是实现环境切换的关键。先为目标环境安装
ipykernel,然后将其注册为一个Jupyter内核。bash# 安装 ipykernel conda install ipykernel # 将当前环境注册为Jupyter的内核 python -m ipykernel install --user --name=my_jupyter_env --display-name="Python (my_jupyter_env)"
⚙️ 通用步骤:生成并修改配置文件
无论采用哪种安装方式,接下来都需要生成并编辑配置文件。注意,新版JupyterLab的配置文件以ServerApp开头,与旧版的NotebookApp不同。
-
生成配置文件
在终端执行以下命令,它会在用户目录
~/.jupyter/下生成配置文件jupyter_lab_config.py。bashjupyter lab --generate-config -
设置访问密码
-
为了安全,强烈建议设置密码,替代自动生成的token。在终端输入以下命令并按提示操作:
bashjupyter server password
-
-
修改配置文件
用你喜欢的文本编辑器(如
vim)打开~/.jupyter/jupyter_lab_config.py,找到并修改以下参数:python# 允许外部访问 c.ServerApp.allow_remote_access = True # 允许所有IP访问 (这是外网访问的关键) c.ServerApp.ip = '0.0.0.0' # 启动时不自动打开浏览器 c.ServerApp.open_browser = False # 指定JupyterLab的端口号,例如8888 c.ServerApp.port = 8888 # 禁止以root用户运行(安全考虑) c.ServerApp.allow_root = False # 设置密码(如果已通过 'jupyter server password' 命令设置,这里会自动填入) c.ServerApp.password = 'sha1:...你的密码哈希值...'保存并退出。
-
验证并启动
完成以上配置后,可以直接在终端输入
jupyter lab并回车,检查配置是否生效,JupyterLab是否能正常启动。 -
后台运行
如果希望JupyterLab在关闭SSH会话后依然运行,可以使用
nohup命令:bashnohup jupyter lab --allow-root &
🌍 外网安全访问配置
JupyterLab默认只监听本地(localhost),这意味着外部网络无法直接访问。将服务暴露到公网有多种方式,以下是两种最主流且安全的方案。
方式一:SSH隧道(强烈推荐)
这是最安全的远程访问方式,无需将JupyterLab端口暴露在公网,所有数据都通过加密的SSH连接传输。
-
在服务器端启动服务 :
保持你已配置好的JupyterLab为启动状态。
-
在本地建立SSH隧道 :
在你自己的电脑(客户端) 的终端中执行以下命令:
bashssh -L 本地端口:localhost:服务器端口 用户名@服务器IP地址 # 例如,你的服务器IP是 123.123.123.123,用户是 root,JupyterLab端口是 8888 ssh -L 8888:localhost:8888 root@123.123.123.123 -
本地访问 :
执行完上述命令后,不要关闭这个终端窗口。现在,打开你本地电脑的浏览器 ,访问
http://localhost:8888,就能安全地使用远程服务器上的JupyterLab了。
方式二:直接开放端口(风险较高)
如果你确实需要让JupyterLab直接对外服务,请务必在完成后续的安全措施后再执行。
-
确保配置正确 :
请务必确认你的配置文件(
jupyter_lab_config.py)中已按上文要求,将c.ServerApp.ip设置为'0.0.0.0',并已设置强密码。 -
配置系统防火墙 :
需要在服务器上打开你配置的端口(如8888)。以下命令以
ufw为例,如果你的服务器使用firewalld或其他防火墙工具,命令会有所不同。bash# 允许8888端口的TCP流量 sudo ufw allow 8888/tcp # 重载防火墙使规则生效 sudo ufw reload -
配置云服务商安全组 :
对于云服务器(如阿里云、腾讯云、AWS等),还需要在其控制台的安全组规则中 ,添加入站规则,允许TCP协议的
8888端口访问。 -
通过公网访问 :
完成上述步骤后,你就可以在任意能上网的电脑浏览器中 ,通过
http://你的服务器公网IP:8888来访问JupyterLab了。