参见Python官网及开始在 Windows 上将 Python 用于 Web 开发(WSL)
Ubuntu 18.04 LTS 已安装了 Python 3.6,但不附带你可能期望随其他 Python 安装一起获得的某些模块。 我们仍需要安装 pip、Python 的标准包管理器和 venv(用于创建和管理轻型虚拟环境的标准模块)。 请记住,你可能需要使用 sudo apt update && sudo apt upgrade 更新你的 Linux 发行版,使其具有最新版本。
# 查看python版本
python -V
# or
python --version打开 Ubuntu 终端并输入 python3 --version,以便确认已安装了 Python3。 这应该返回 Python 版本号。 如果需要更新 Python 版本,请先通过输入以下内容来更新 Ubuntu 版本:sudo apt update && sudo apt upgrade,然后使用 sudo apt upgrade python3 更新 Python。
通过输入以下内容来安装 pip:sudo apt install python3-pip。 通过 pip 可以安装和管理不属于 Python 标准库的其他包。
通过输入以下内容来安装 venv:sudo apt install python3-venv。
python3 --version
sudo apt install python3-pip
sudo apt install python3-venv对于 Python 开发项目,使用虚拟环境是推荐最佳做法。 通过创建虚拟环境,可以将项目工具隔离开来,避免与其他项目的工具发生版本冲突。 例如,你可能在维护一个需要 Django 1.2 Web 框架的旧 Web 项目,但随后又接到了一个使用 Django 2.2 的令人兴奋的新项目。 如果在虚拟环境外部全局更新 Django,则以后可能会遇到一些版本控制问题。 除了防止意外的版本冲突以外,虚拟环境允许在没有管理权限的情况下安装和管理包。
打开终端,在 HelloWorld 项目文件夹中,使用以下命令创建名为 .venv 的虚拟环境:python3 -m venv .venv。
若要激活虚拟环境,请输入:source .venv/bin/activate。 如果它已正常工作,则应该在命令提示符之前看到 (.venv)。 现在已准备好了一个可用于编写代码和安装包的独立环境。 使用完虚拟环境后,输入以下命令可停用它:deactivate。
python -m venv .venv
source .venv/bin/activate参见VSCode官网
pip install jupyterlab使用 Jupyter Lab 开发的最佳实践是后台常驻,下面是相关配置(以 root 用户为例):
# 生成 Jupyter Lab 配置文件,
jupyter lab --generate-config打开上面执行输出的jupyter_lab_config.py配置文件后,修改以下配置项:
c.ServerApp.allow_root = True # 非 root 用户启动,无需修改
c.ServerApp.ip = '*'使用 nohup 后台启动 Jupyter Lab
nohup jupyter lab --port=7000 --NotebookApp.token='替换为你的密码' --notebook-dir=./ &
nohup jupyter lab --port=7000 --NotebookApp.token='0000' --notebook-dir=./ &这个错误发生的原因是你使用的 Python 3.12 版本与当前安装的 ipykernel 版本不兼容。imp 模块在 Python 3.12 中已被移除,但某些旧版本的 ipykernel 仍然依赖它。
我当前的 Python Version: Python 3.12.9
让我们按照以下步骤来解决这个问题:
- 首先,确保你已经激活了虚拟环境:
source .venv/bin/activate- 然后,我们需要更新相关的包
pip install --upgrade ipykernel jupyter_client- 如果上述方法不能解决问题,我们可以尝试完全重新安装 Jupyter 相关的包:
pip uninstall jupyter jupyterlab notebook ipykernel -y
pip install jupyter jupyterlab notebook ipykernel- 安装完成后,重新启动 Jupyter Lab:
jupyter lab --port=7000 --NotebookApp.token='0000' --notebook-dir=./ - 这个问题是一个典型的依赖包版本兼容性问题。在 Python 开发中,这是很常见的情况。
- 使用虚拟环境(virtual environment)的好处之一就是可以避免全局包冲突,并且可以方便地重新安装或更新包。
- 如果你是初学者,建议记住这个解决问题的过程,因为在学习编程的过程中,处理依赖关系是一个重要的技能。
- 了解更多关于 Python 包管理的知识,特别是
pip的使用方法 - 学习 Python 虚拟环境的概念和使用方法
- 熟悉如何阅读和理解 Python 的错误信息
- 了解 Python 版本更新可能带来的兼容性问题
如果按照上述步骤操作后仍然遇到问题,请告诉我具体的错误信息,我会继续帮你解决。