Dan*_*erg 1 openssl ubuntu-14.04 pyenv python-3.7
在 Ubuntu 14.04 上编译 Python 3.7 及更高版本无法开箱即用。这是因为 Ubuntu 14.04 基于 OpenSSL 1.0.1,而 Python 3.7 需要 OpenSSL 1.0.2 及更高版本。
不涉及 3rd 方 PPA 的最佳解决方案是什么?
我没有看到一个明确的解决方案,所以我决定写一个关于从源代码编译而不影响系统其余部分的内容。
您需要两个步骤,一个是构建您自己的 OpenSSL 版本,第二个是指示 pyenv 使用它。
要安装 OpenSSL,请运行以下命令。
mkdir openssl
cd openssl
wget https://www.openssl.org/source/openssl-1.0.2u.tar.gz
tar -xzvf openssl-1.0.2u.tar.gz
cd openssl-1.0.2u
./config --prefix=$HOME/openssl --openssldir=$HOME/openssl shared zlib
make
make install
Run Code Online (Sandbox Code Playgroud)
这会将 OpenSSL 1.0.2 上的最新版本(不会发布更多补丁)安装到您的主目录。现在使用 pyenv 安装 Python 3.7。
配置pyenv后,运行以下命令
PATH="$HOME/openssl:$PATH" CPPFLAGS="-I$HOME/openssl/include" CFLAGS="-I$HOME/openssl/include/" LDFLAGS="-L$HOME/openssl/lib -Wl,-rpath,$HOME/openssl/lib" LD_LIBRARY_PATH=$HOME/openssl/lib:$LD_LIBRARY_PATH LD_RUN_PATH="$HOME/openssl/lib" CONFIGURE_OPTS="--with-openssl=$HOME/openssl" PYTHON_CONFIGURE_OPTS="--enable-shared" pyenv install 3.7.5
如果您想要更快的运行时间,您可以添加 -O2。
| 归档时间: |
|
| 查看次数: |
1406 次 |
| 最近记录: |