我已经从源代码编译了 python3.6.5 并将其链接到我编译的 openssl,如下所示:
export LDFLAGS="-L/usr/local/openssl/lib/ -L/usr/local/openssl/lib64/"
export LD_LIBRARY_PATH="/usr/local/openssl/lib/:/usr/local/openssl/lib64/"
export CPPFLAGS="-I/usr/local/openssl/include -I/usr/local/openssl/include/openssl"
./configure --prefix=/usr/local/openssl/
make
make install
openssl安装如下:
./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl shared zlib
make
make install
/my/path/
上面的说明中的内容替换为/usr/local/openssl/
Ubuntu 18 中也内置了 openssl,但我从源代码编译了它,因为系统缺少一些我需要的功能。
现在,我想使用我的编译Python而不是系统Python来运行我的Python程序。这个怎么做?如果我编写 python myprog.py
,它将运行系统的 python 。
答案1
如果您在以下位置安装了自定义 Python /some/path
:
添加 shebang 行将
myscript.py
在作为可执行脚本运行时选择自定义 python:#!/some/path/bin/python import sys print(sys.version)
运行脚本:
$ chmod +x myscript.py $ ./myscript.py 2.7.10 (default, Oct 6 2017, 22:29:07) [GCC 4.2.1 Compatible Apple LLVM 9.0.0 (clang-900.0.31)]
您可以显式传递 python 可执行文件的路径来运行脚本:
$ /some/path/bin/python myscript.py
添加到之前
/some/path/bin
将PATH
选择自定义 python 而不是系统 python:$ PATH=/some/path/bin:$PATH python myscript.py
从您提供的行来看./configure --prefix=/usr/local/openssl/
,您似乎在/usr/local/openssl
;下安装了自定义 Python因此 bin 目录应该是/usr/local/openssl/bin
.