【1】JupyterLab安装

💻 安装与基础配置

你可以根据需求选择将JupyterLab安装到系统中,或是在conda的虚拟环境中。

方案一:直接安装到Linux系统

这种安装方式最直接,适合个人使用或开发环境。

  1. 安装JupyterLab
    建议使用Python的包管理器pip进行安装。如果下载速度慢,可以使用清华大学的镜像源加速。

    bash 复制代码
    pip install jupyterlab -i https://pypi.tuna.tsinghua.edu.cn/simple

    如果你偏好使用conda,且已安装Anaconda/Miniconda,也可以运行以下命令:

    bash 复制代码
    conda install -c conda-forge jupyterlab
方案二:在conda虚拟环境中安装

这种方式能将项目依赖隔离开来,确保环境清洁,非常适合多项目并行开发。如果你需要在多个环境中切换使用JupyterLab,请参考本方案的最后一部分。

  1. 创建并激活环境

    创建并激活一个名为my_jupyter_env的新环境,你可以根据需要修改环境名。

    bash 复制代码
    conda create --name my_jupyter_env python=3.10
    conda activate my_jupyter_env
  2. 在环境中安装JupyterLab

    在激活的虚拟环境中执行安装命令。

    bash 复制代码
    conda install jupyter jupyterlab
  3. 为环境注册内核(可选但推荐)

    这是实现环境切换的关键。先为目标环境安装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不同。

  1. 生成配置文件

    在终端执行以下命令,它会在用户目录~/.jupyter/下生成配置文件jupyter_lab_config.py

    bash 复制代码
    jupyter lab --generate-config
  2. 设置访问密码

    • 为了安全,强烈建议设置密码,替代自动生成的token。在终端输入以下命令并按提示操作:

      bash 复制代码
      jupyter server password
  3. 修改配置文件

    用你喜欢的文本编辑器(如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:...你的密码哈希值...'

    保存并退出。

  4. 验证并启动

    完成以上配置后,可以直接在终端输入jupyter lab并回车,检查配置是否生效,JupyterLab是否能正常启动。

  5. 后台运行

    如果希望JupyterLab在关闭SSH会话后依然运行,可以使用nohup命令:

    bash 复制代码
    nohup jupyter lab --allow-root &

🌍 外网安全访问配置

JupyterLab默认只监听本地(localhost),这意味着外部网络无法直接访问。将服务暴露到公网有多种方式,以下是两种最主流且安全的方案。

方式一:SSH隧道(强烈推荐)

这是最安全的远程访问方式,无需将JupyterLab端口暴露在公网,所有数据都通过加密的SSH连接传输。

  1. 在服务器端启动服务

    保持你已配置好的JupyterLab为启动状态。

  2. 在本地建立SSH隧道

    在你自己的电脑(客户端) 的终端中执行以下命令:

    bash 复制代码
    ssh -L 本地端口:localhost:服务器端口 用户名@服务器IP地址
    # 例如,你的服务器IP是 123.123.123.123,用户是 root,JupyterLab端口是 8888
    ssh -L 8888:localhost:8888 root@123.123.123.123
  3. 本地访问

    执行完上述命令后,不要关闭这个终端窗口。现在,打开你本地电脑的浏览器 ,访问 http://localhost:8888,就能安全地使用远程服务器上的JupyterLab了。

方式二:直接开放端口(风险较高)

如果你确实需要让JupyterLab直接对外服务,请务必在完成后续的安全措施后再执行。

  1. 确保配置正确

    请务必确认你的配置文件(jupyter_lab_config.py)中已按上文要求,将c.ServerApp.ip设置为'0.0.0.0',并已设置强密码。

  2. 配置系统防火墙

    需要在服务器上打开你配置的端口(如8888)。以下命令以ufw为例,如果你的服务器使用firewalld或其他防火墙工具,命令会有所不同。

    bash 复制代码
    # 允许8888端口的TCP流量
    sudo ufw allow 8888/tcp
    # 重载防火墙使规则生效
    sudo ufw reload
  3. 配置云服务商安全组

    对于云服务器(如阿里云、腾讯云、AWS等),还需要在其控制台的安全组规则中 ,添加入站规则,允许TCP协议的8888端口访问。

  4. 通过公网访问

    完成上述步骤后,你就可以在任意能上网的电脑浏览器中 ,通过 http://你的服务器公网IP:8888 来访问JupyterLab了。

相关推荐
互联网时光机14 小时前
我用 UniApp + 腾讯云 IAI 做了一个“明星脸比对“小程序,零后台延迟
经验分享·python·人脸识别
l1t14 小时前
DeepSeek总结的Python 3.14.5 发布候选版本
开发语言·python
Cyber4K14 小时前
【Python专项】进阶语法-日志分类与分析(2)
开发语言·前端·python
lbb 小魔仙14 小时前
Python + LangChain 环境搭建完全指南:从零构建本地 RAG 知识库(附 Ollama 本地模型集成)
开发语言·python·langchain
风落无尘14 小时前
Python 包发布全流程:从项目结构到 PyPI 上线,以及我踩过的那些坑
开发语言·python·pip
Lenyiin14 小时前
《LeetCode 顺序刷题》61 - 70
java·c++·python·算法·leetcode·lenyiin
岁岁的O泡奶14 小时前
NSSCTF_crypto_[LitCTF 2023]babyLCG
经验分享·python·算法·密码学·crypto·流密码
风落无尘14 小时前
我用 LangChain 写了一个带“定速巡航”的向量化工具,发布到 PyPI 了!
人工智能·python·langchain
AI技术控14 小时前
RAG 效果差不是模型问题:10 个检索增强失败原因总结
人工智能·python·自然语言处理
Hesionberger14 小时前
LeetCode 78:子集生成全攻略
java·开发语言·数据结构·python·算法·leetcode·职场和发展