跳至主要內容

安装python

大约 2 分钟

安装python

又一次安装 python,上次是在 CentOS, 这次是在 Ubuntu

使用命令./configure --prefix=/usr/local/python3 --enable-optimizations --with-ssl有警告: 未知的参数

看起来还是要改成--with-openssl=openssl的安装路径

下载编译安装 openssl

首先确认是否有已安装的openssl
find /usr -name "openssl"

应该能看到类似 /usr/local/openssl/usr/include/openssl 的路径。需要选择包含 includelib 子目录的路径。

如果有的话,确认可用性,假设是/usr/local/openssl/

/usr/local/openssl/bin/openssl version

若成功,跳过步骤

下载地址: https://www.openssl.org/source/open in new window

# 下载
wget https://www.openssl.org/source/openssl-1.1.1s.tar.gz
# 解压
tar -zxvf ./openssl-1.1.1s.tar.gz
# 进入目录
cd openssl-1.1.1s
# 编译安装
# 在这之前确认这个位置没有文件
./config --prefix=/usr/local/openssl
make
make install

确认安装是否成功

/usr/local/openssl/bin/openssl version

相关信息

如果遇到了问题/usr/local/openssl/bin/openssl: relocation error: /usr/local/openssl/bin/openssl: symbol EVP_mdc2 version OPENSSL_1_1_0 notypto.so.1.1 with link time reference,这可能是因为系统上存在多个 OpenSSL 版本,导致链接时引用了错误的库文件 可以把原来的openssl删掉 或者更新环境变量

echo 'export PATH="/usr/local/openssl/bin:$PATH"' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH="/usr/local/openssl/lib:$LD_LIBRARY_PATH"' >> ~/.bashrc
echo 'export PKG_CONFIG_PATH="/usr/local/openssl/lib/pkgconfig:$PKG_CONFIG_PATH"' >> ~/.bashrc
source ~/.bashrc

或者,GPT提供了使用当前安装的openssl的方式,但是我用了好像没用

详情

如果您的库文件位于 /usr/lib/x86_64-linux-gnu,头文件位于 /usr/include/openssl,则可以这样设置:

export LDFLAGS="-L/usr/lib/x86_64-linux-gnu"
export CPPFLAGS="-I/usr/include/openssl"

安装python

./configure --prefix=/usr/local/python3 --enable-optimizations --with-openssl=/usr/local/openssl
make && make install

相关信息

后来遇到了ModuleNotFoundError: No module named '_sqlite3' 根据 GPT 的提醒,可以加上参数--enable-loadable-sqlite-extensions

出现报错,ModuleNotFoundError: No module named 'zlib'

参考

运行以下命令,然后重新make install,解决

sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
sudo apt-get install build-essential python-dev python-setuptools python-pip python-smbus
sudo apt-get install build-essential libncursesw5-dev libgdbm-dev libc6-dev
sudo apt-get install zlib1g-dev libsqlite3-dev tk-dev
sudo apt-get install libssl-dev openssl
sudo apt-get install libffi-dev

收尾,为什么要这么做可以参考优先级

ln -sf /usr/local/python3/bin/python3.10 /usr/local/bin/python3
ln -sf /usr/local/python3/bin/pip3 /usr/local/bin/pip3
hash -d python3
hash -d pip3

python交互式命令行不能使用方向键

评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v3.0.0-alpha.10