Python
如何執行我編譯的python而不是系統安裝的一個
我已經從原始碼編譯了 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/
openssl 也是在 Ubuntu 18 中建構的,但我從原始碼編譯它,因為系統缺少一些我需要的功能。現在,我想使用我的編譯 python 而不是系統執行我的 python 程序。這該怎麼做?如果我寫 python
myprog.py
,它將執行系統的 python。
如果您在以下位置安裝了自定義 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 而不是系統之一:$ PATH=/some/path/bin:$PATH python myscript.py
./configure --prefix=/usr/local/openssl/
從您提供的行來看,您似乎在 ; 下安裝了自定義 Python/usr/local/openssl
。因此 bin 目錄應該是/usr/local/openssl/bin
.