[buy] 适用于 Debian/Ubuntu [/buy]
# 安装 Python
# 下载 Python 源码
首先安装需要的依赖
apt-get update | |
apt-get install build-essential zlib1g-dev libncurses5-dev \ | |
libgdbm-dev libnss3-dev libssl-dev libsqlite3-dev \ | |
libreadline-dev libffi-dev curl libbz2-dev curl -y |
然后在 Python 官方源码仓库里找到需要的版本对应的压缩文件 比如需要安装 3.11.4,对应文件为 Python-3.11.4.tgz
,选择 tgz
格式就可以
复制链接,用 wget
下载
wget https://www.python.org/ftp/python/3.11.4/Python-3.11.4.tgz |
使用以下命令安装必要的组件
sudo apt-get install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev |
# 配置构建选项
解压下载下来的 tgz
,然后进入目录下执行 ./configure
tar -xzvf Python-3.11.4.tgz | |
cd Python-3.11.4/ | |
./configure |
可以通过执行 ./configure --help
查看更多构建的配置选项,比如加上 --enable-optimizations
来执行各种检查,优化最终构建出的 Python 二进制文件,但会使构建过程变慢
# 编译及安装
执行 make
来开始构建,可以通过 -j
参数指定进程数与 cpu 核心数一致,比如 make -j 4
然后执行 make altinstall
来安装,与 make install
的区别是它不会覆盖默认的 python3
二进制文件,而是新建一个,可以通过对应的版本号来运行,比如 python3.11
make -j 4 | |
make altinstall | |
python3.11 --version |
# 设置默认版本
如果要将新安装的 Python 设置为默认版本,也就是通过 python
直接运行而不是 python3.11
,那么需要修改对应的软连接
ln -sf /usr/local/bin/python3.11 /usr/bin/python3 |
Python 二进制文件的默认安装路径是 /usr/local/bin/Python3.x
,使用 ln
创建符号链接,目标为 /usr/bin/python3
, -s
选项为创建软连接, -f
选项为强制(如果目标已经存在则覆盖)
# 使用 Poetry 进行依赖管理
Poetry 是 Python 中用于依赖管理和打包的工具。它允许您声明项目所依赖的库,并将为您管理(安装 / 更新)它们。
其实就是 conda
的一种平替方案,相比于 pip
+ venv
, poetry
这类管理工具可以管理库之间的依赖,比如 pip
升级某个库的时候并不会自动把依赖库升级
# 安装 Poetry
直接用官方脚本安装
curl -sSL https://install.python-poetry.org | python3 - |
python3
只是用来执行安装脚本的环境,可以直接用系统默认的 python 环境
# 找不到 distutils.cmd
模块
使用 apt-get
安装
apt-get install python3-distutils |
# 添加自动配置环境变量
安装完成后会提示需要自行将 poetry
的路径添加到 PATH
中,不然只能每次都输入绝对路径来运行
使用 export PATH="/root/.local/bin:$PATH"
添加一个 PATH
环境变量
并且可以直接将这个命令添加到 .bashrc
文件里,每次 ssh 连接上后就会自动执行
echo 'export PATH="/root/.local/bin:$PATH"' >> .bashrc |
注意 .bashrc
文件的路径是在 ssh 登录的用户根目录下,比如 root
用户是 /root/.bashrc
# Poetry 的简单使用
# 创建环境
进入项目目录下,使用 poetry init
创建环境,然后根据提示输入对应的信息 可以直接在这个过程中填写需要的依赖库,也可以直接输入 n
跳过,直接输入的话默认会使用 PyPI,国内连接的速度很慢,所以可以全部留到后面一起设置
创建完成之后,项目文件夹内会出现一个 pyproject.toml
文件,在这里面可以修改刚才的设置,比如切换源
[[tool.poetry.source]] | |
# 这里以清华源举例,你也可以使用其他源 | |
name = "tuna-tsinghua" | |
url = "https://pypi.tuna.tsinghua.edu.cn/simple" | |
default = false |
# 启用环境
输入 poetry env use python3.x
来自定义需要使用的 Python 环境
Poetry 会自动创建一个虚拟环境,并提示创建的路径
# 添加库
通过 poetry add package_name
来添加
不过 Poetry 好像没有 pip install -r
那样的选项来安装 requirements.txt
这类文件里面列出的所有库,可以用这个命令安装
poetry add `cat requirements.txt` |
# 通过环境执行
使用 poetry run
命令来通过 Poetry 的虚拟环境执行
poetry run python main.py |