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

相关推荐
xiaoyaohou112 小时前
023、数据增强改进(二):自适应数据增强与AutoAugment策略
开发语言·python
鬼圣2 小时前
Python 上下文管理器
开发语言·python
努力学习_小白3 小时前
ResNet-50——pytorch版
人工智能·pytorch·python
战族狼魂3 小时前
基于LibreOffice +python 实现一个小型销售管理系统的数据库原型教学实验
数据库·python
m0_640309303 小时前
PHP函数怎样适配高可靠性存储硬件_PHP在ZFS RAIDZ环境配置【技巧】
jvm·数据库·python
2402_854808373 小时前
Django REST Framework 中实现用户资料更新的完整实践指南
jvm·数据库·python
m0_748839493 小时前
golang如何理解weak pointer弱引用_golang weak pointer弱引用总结
jvm·数据库·python
m0_738120723 小时前
渗透测试基础ctfshow——Web应用安全与防护(五)
前端·网络·数据库·windows·python·sql·安全
人间打气筒(Ada)3 小时前
「码动四季·开源同行」python语言:用户交互
开发语言·python·基本数据类型·注释·变量·常量·文件头