Ubuntu24.04 安装python3环境

本文最后更新于:4 个月前

Ubuntu24.04 安装python3环境

安装pip

1
apt install python3-pip

新版ubuntu使用pip时发生错误:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
error: externally-managed-environment

× This environment is externally managed
╰─> To install Python packages system-wide, try apt install
python3-xyz, where xyz is the package you are trying to
install.

If you wish to install a non-Debian-packaged Python package,
create a virtual environment using python3 -m venv path/to/venv.
Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make
sure you have python3-full installed.

If you wish to install a non-Debian packaged Python application,
it may be easiest to use pipx install xyz, which will manage a
virtual environment for you. Make sure you have pipx installed.

See /usr/share/doc/python3.11/README.venv for more information.

note: If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your Python installation or OS, by passing --break-system-packages.
hint: See PEP 668 for the detailed specification.

收到一个错误提示:error: externally-managed-environment,即“外部管理环境”错误,但这不是一个 bug,新的发行版中,正在使用 Python 包来实现此增强功能,这个更新是为了避免操作系统包管理器 (如pacman、yum、apt) 和 pip 等特定于 Python 的包管理工具之间的冲突,这些冲突包括 Python 级 API 不兼容和文件所有权冲突。
解决方案:

1
sudo mv /usr/lib/python3.12/EXTERNALLY-MANAGED /usr/lib/python3.12/EXTERNALLY-MANAGED.bak

安装python3软件包

安装依赖包

1
2
3
4
sudo apt update
sudo apt install pkg-config
sudo apt install python3-dev default-libmysqlclient-dev build-essential
sudo apt install libffi-dev zlib1g-dev libbz2-dev libssl-dev libncurses5-dev libsqlite3-dev libreadline-dev tk-dev gcc make

Python3虚拟环境

sudo apt install python3-venv
python3 -m venv /home/service/.venv
python3 -m venv –system-site-packages /home/service/.venv

#添加
echo “source /home/service/.venv/bin/activate” >> ~/.profile
#删除
sed -i ‘/source /home/service/.venv/bin/activate/d’ ~/.profile

安装组件

安装依赖

sudo apt install python3-dev libffi-dev libssl-dev

sudo apt install libmysqlclient-dev
mysql_config –version

sudo apt install libjpeg-dev zlib1g-dev libfreetype6-dev libopenjp2-7-dev libtiff5-dev