本博客参考 http://thelazylog.com/install-python-as-local-user-on-linux/
!!!个人的操作是在 docker 容器中进行的,在第三步中,需要保证 --prefix 的值在容器和虚机中的路径是一致的,才可以保证安装完成后,使用 docker cp 复制到宿主机中可以直接使用。
1. 下载 python 源码
curl -LO <url>
2. 安装需要使用到的 app,apt install make gcc -y
3. 解压并编译,如果期间遇到报错:
ipimport.ZipImportError: can't decompress data; zlib not available 则参考 https://unix.stackexchange.com/questions/291737/zipimport-zipimporterror-cant-decompress-data-zlib-not-available apt install zlib1g-dev -y
ModuleNotFoundError: No module named '_ctypes' 则参考 https://stackoverflow.com/questions/27022373/python3-importerror-no-module-named-ctypes-when-using-value-from-module-mul apt install libffi-dev -y
需要 enable ssl module(用来对 pip install 请求 https 安装包)的话:参考 https://stackoverflow.com/questions/45954528/pip-is-configured-with-locations-that-require-tls-ssl-however-the-ssl-module-in
apt -y install libssl-dev zlib1g-dev build-essential
一次安装所有组件的命令行
apt update -y && apt install -y make gcc zlib1g-dev libffi-dev libssl-dev zlib1g-dev build-essential
# --prefix 代表安装的路径,该路径安装后不能随意改变,所以如果想在一台机器上安装,然后在多台机器上复制,路径必须保持一致
# --enable-optimizations 用来打开所有的优化特性
./configure --prefix=$HOME/python --enable-optimizations
make && make install
4. 编译完即可
make && make install
5. 指定 PATH 路径即可使用