【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了。

相关推荐
Irissgwe7 分钟前
十、LangGraph能力详解:LangGraph 的其他特性
python·ai·langchain·langgraph
吴阿福|一人公司13 分钟前
类变量和实例变量的命名规范有哪些避坑点?
开发语言·python
zhoupenghui16821 分钟前
AI大模型应用部署之Flask框架使用
运维·python·docker·容器·flask·flask框架
ckjoker26 分钟前
手敲三Agent串行流水线,我发现了多Agent协作的隐形杀手
python·agent
稷下元歌26 分钟前
七天学会plc加机器视觉之AI 接入 外设模块开发全详细操作文档(全程配套视频按文档实操)
python·sql·qt·贪心算法·r语言·wpf·时序数据库
KaMeidebaby44 分钟前
卡梅德生物技术快报|细胞周期检测抗原流式分析:参数调试、软件拟合与问题排查
网络·人工智能·python·网络协议·tcp/ip·算法·机器学习
zmzb01031 小时前
Python课后习题训练记录Day124
开发语言·python
geovindu1 小时前
python: Broadcast Pattern
开发语言·python·设计模式·广播模式
winfredzhang1 小时前
Python 实战:用 wxPython 写一个 MD5 文件查重清理工具
python·sqlite·json·wxpython·md5·预览·查重
装不满的克莱因瓶1 小时前
了解不同机器学习模型的分类
人工智能·python·算法·机器学习·ai·分类·数据挖掘