Linux系统轻量AI项目GUI界面|JupyterLab
在我们使用Ubuntu或其它Linux系统运行开源AI项目时,在没有安装GUI界面的情况下,对于常人来说操作起来是比较麻烦的,但是通过安装JupyterLab可视化界面,你可以很方便的运行部署开源AI项目,拥有比较简单的交互界面。
项目介绍
JupyterLab 是 Project Jupyter 的一个开源项目,它提供了一个交互式的、基于 web 的用户界面,用于 Jupyter 笔记本、文本文件和数据。JupyterLab 使数据科学家、研究人员和开发人员能够以一种交互式和协作的方式进行数据分析和数据建模。
JupyterLab 的主要特点包括:
- 代码执行: JupyterLab 允许用户编写和执行各种编程语言的代码,包括 Python、R 和 Julia。
- 交互式笔记本: JupyterLab 提供了一个交互式笔记本环境,用户可以在其中编写文本、代码和数学公式,并查看它们的输出和可视化结果。
- 数据可视化: 用户可以使用 JupyterLab 进行数据可视化,例如绘制图表和图形。
- 文件和目录浏览: JupyterLab 提供了一个文件和目录浏览器,方便用户管理他们的项目文件。
- 文本编辑: JupyterLab 包含了一个完整的文本编辑器,用于编辑纯文本文件、Markdown 文件和其他文档。
- 扩展和插件: 用户可以安装各种扩展和插件,以增强 JupyterLab 的功能和自定义其界面。
要使用 JupyterLab,您通常需要在您的计算机上安装 Python 和 JupyterLab 软件包。安装完成后,您可以通过运行 jupyter lab
命令启动 JupyterLab 服务,并通过 web 浏览器访问它的用户界面。
项目仓库
GitHub:jupyterlab/jupyterlab
前置条件
本篇教程依赖于Ubuntu系统环境,对于Linux系统来说是通用的。如果你想学习关于Windows部署JupyterLab的方法,本站将在后续给出教程。
该项目支持Windows子系统WSL的Linux系统中部署,如果你没有云服务器,在本地部署也是可以的。
如果你想了解Windows本地通过WSL虚拟机部署Linux系统,那么你可以查看如下文章。
在你已经拥有了一个Ubuntu系统后,你还需要在这个系统中安装Conda,以下是关于Conda在Linux系统中的安装教程。
网络问题
在安装过程中,你可能即便开启了魔法上网也无法下载一些编程依赖库,关于魔法上网的相关配置问题不方便在站内讲解,请自行查看【魔法上网】的教程内容。
安装教程
本教程默认你已经拥有了一个可以正常访问并可使用的Ubuntu系统,所以本站不在做过多赘述。
Conda
如果您是初学者,对于命令行不太理解,那么请按下键盘上的Win键+R键
后,在弹出的新窗口内输入CMD
并按下回车
键,在CMD窗口
中按顺序执行
如下的每一条命令
。
首先,我们需要创建一个Conda环境,该环境用于安装关于JupyterLab的相关组件。
conda create -y -n JupyterLab jupyterlab jupyter_server
执行如下命令,激活刚刚创建成功的JupyterLab环境。
conda activate JupyterLab
执行如下命令后,将会自动打印已安装关于jupyter的相关组件。
pip list | grep jupyter
配置JupyterLab
执行如下命令,生成JupyterLab的默认配置文件,这将会帮你省去很多繁琐的配置过程。
jupyter notebook --generate-config
执行如下命令后,将会要求你设置jupyterlab
密码,重复输入两次一样的内置即可,输入过程不可见。
jupyter notebook password
执行如下命令,安装ipykernel
内核。
pip install ipykernel
执行如下命令,将环境写入jupyterlab
的kernel
核中。
python -m ipykernel install --user --name JupyterLab --display-name "JupyterLab"
为方便使用,我们还需要安装中文汉化插件,如果你希望仅使用英文运行,可以跳过此步骤。
pip install jupyterlab-language-pack-zh-CN
运行JupyterLab
正常来说,我们应该执行如下命令来运行JupyterLab,在浏览器中访问ip:8888
就可以看到UI界面,但是这样执行有两个不太好的地方。
jupyter-lab --ip 0.0.0.0 --port 8888 --no-browser --allow-root
- 无法常驻后台,通过这种方式运行可能运行几分钟后被Linux系统随时杀掉。如果你此时正在运行AI项目,那么会被强制关闭。
- 端口号会自动增加,如果你已经运行过一个JupyterLab,那么当你再次尝试执行该命令重新运行时,那么将会自动生成一个端口号为8889的网址,每次从8888自动加1。
综上所述,站长为大家提供下面更加方便的运行方式,每次执行时确保你的端口永远是8888,并且永驻后台,不会被强制中断。
kill -9 $(lsof -ti :8888); jupyter-lab --ip 0.0.0.0 --port 8888 --no-browser --allow-root --ContentsManager.allow_hidden=True &
执行上面的代码后,你将会看到如下内容反馈。
(JupyterLab) openai_wiki@openAI:~$ kill -9 $(lsof -ti :8888); jupyter-lab --ip 0.0.0.0 --port 8888 --no-browser --allow-root --ContentsManager.allow_hidden=True & [5] 3602 (JupyterLab) openai_wiki@openAI:~$ [I 2023-09-28 12:28:16.280 ServerApp] jupyter_server_fileid | extension was successfully linked. [I 2023-09-28 12:28:16.282 ServerApp] jupyter_server_ydoc | extension was successfully linked. [I 2023-09-28 12:28:16.285 ServerApp] jupyterlab | extension was successfully linked. [W 2023-09-28 12:28:16.286 NotebookApp] 'password' has moved from NotebookApp to ServerApp. This config will be passed to ServerApp. Be sure to update your config before our next release. [I 2023-09-28 12:28:16.287 ServerApp] nbclassic | extension was successfully linked. [I 2023-09-28 12:28:16.394 ServerApp] notebook_shim | extension was successfully linked. [I 2023-09-28 12:28:16.401 ServerApp] notebook_shim | extension was successfully loaded. [I 2023-09-28 12:28:16.402 FileIdExtension] Configured File ID manager: ArbitraryFileIdManager [I 2023-09-28 12:28:16.402 FileIdExtension] ArbitraryFileIdManager : Configured root dir: /home/openai_wiki [I 2023-09-28 12:28:16.402 FileIdExtension] ArbitraryFileIdManager : Configured database path: /home/openai_wiki/.local/share/jupyter/file_id_manager.db [I 2023-09-28 12:28:16.402 FileIdExtension] ArbitraryFileIdManager : Successfully connected to database file. [I 2023-09-28 12:28:16.402 FileIdExtension] ArbitraryFileIdManager : Creating File ID tables and indices with journal_mode = DELETE [I 2023-09-28 12:28:16.402 ServerApp] jupyter_server_fileid | extension was successfully loaded. [I 2023-09-28 12:28:16.402 ServerApp] jupyter_server_ydoc | extension was successfully loaded. [I 2023-09-28 12:28:16.403 LabApp] JupyterLab extension loaded from /home/openai_wiki/miniconda3/envs/JupyterLab/lib/python3.11/site-packages/jupyterlab [I 2023-09-28 12:28:16.403 LabApp] JupyterLab application directory is /home/openai_wiki/miniconda3/envs/JupyterLab/share/jupyter/lab [I 2023-09-28 12:28:16.404 ServerApp] jupyterlab | extension was successfully loaded. _ _ _ _ | | | |_ __ __| |__ _| |_ ___ | |_| | '_ \/ _` / _` | _/ -_) \___/| .__/\__,_\__,_|\__\___| |_| Read the migration plan to Notebook 7 to learn about the new features and the actions to take if you are using extensions. https://jupyter-notebook.readthedocs.io/en/latest/migrate_to_notebook7.html Please note that updating to Notebook 7 might break some of your extensions. [I 2023-09-28 12:28:16.406 ServerApp] nbclassic | extension was successfully loaded. [I 2023-09-28 12:28:16.406 ServerApp] Serving notebooks from local directory: /home/openai_wiki [I 2023-09-28 12:28:16.406 ServerApp] Jupyter Server 1.23.4 is running at: [I 2023-09-28 12:28:16.406 ServerApp] http://openAI:8888/lab [I 2023-09-28 12:28:16.406 ServerApp] or http://127.0.0.1:8888/lab [I 2023-09-28 12:28:16.406 ServerApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation). [I 2023-09-28 12:28:48.079 LabApp] 302 GET /lab (127.0.0.1) 0.40ms [I 2023-09-28 12:28:52.667 ServerApp] 302 POST /login?next=%2Flab (127.0.0.1) 19.88ms 0.00s - Debugger warning: It seems that frozen modules are being used, which may 0.00s - make the debugger miss breakpoints. Please pass -Xfrozen_modules=off 0.00s - to python to disable frozen modules. 0.00s - Note: Debugging will proceed. Set PYDEVD_DISABLE_FILE_VALIDATION=1 to disable this validation. [W 2023-09-28 12:28:53.106 ServerApp] 404 GET /api/me?1695875333022 (127.0.0.1) 2.79ms referer=http://127.0.0.1:8888/lab [W 2023-09-28 12:28:54.286 LabApp] Could not determine jupyterlab build status without nodejs
其中,我们可以看到http://127.0.0.1:8888/lab
这一行,这就是我们运行该项目的网址。如果你是云服务器,请将127.0.0.1
替换为你的公网IP
地址即可在任何外网浏览器中运行。
运行后需要输入我们之前设置的密码,然后点击Log in
按钮。
此时如果你想切换语言,那么你可以在Settings
→Language
中设置中文
。
在左侧文件浏览器
中,我们可以看到目录中是不存在隐藏文件夹显示的。这对于我们日常的使用来说非常不方便,可以通过以下方式显示隐藏文件。
总结
好啦,关于JupyterLab的安装部署已经完成,我们现在可以愉快的通过JupyterLab操作AI项目咯。
评论 (0)