我正在使用 openSUSE Leap 15,我正在嘗試透過以下方式從原始程式碼建立 Python 3.7.2本指南。
為此,我遵循了以下指示:
- 下載存檔
將存檔解壓縮到
/usr/lib64/
root 中# cd /usr/lib64 # tar xvf /home/george/Downloads/Python-3.7.2.tgz
以 root 身分執行安裝命令
# cd Python-3.7.2 # ./configure --enable-optimizations --with-ensurepip=install # make -j 8 # make install
這些命令不會給我任何錯誤,但它們也不會執行我期望的操作。他們應該將新的 python 二進位檔案安裝到 中/usr/bin/python3.7
,但是,該檔案從未建立。相反,文件的放置方式/usr/local/bin/
如下:
# ls -l /usr/local/bin/ | grep python
lrwxrwxrwx 1 root root 9 Mar 31 18:18 python3 -> python3.7
-rwxr-xr-x 2 root root 14655464 Mar 31 18:28 python3.7
lrwxrwxrwx 1 root root 17 Mar 31 18:18 python3.7-config ->
python3.7m-config
-rwxr-xr-x 2 root root 14655464 Mar 31 18:28 python3.7m
-rwxr-xr-x 1 root root 3099 Mar 31 18:29 python3.7m-config
lrwxrwxrwx 1 root root 16 Mar 31 18:18 python3-config -> python3.7-config
我怎麼才能得到二進位來/usr/bin/
代替?
我嘗試創建一個符號鏈接來/usr/bin/python3.7
指向其中的符號鏈接,/usr/local/bin/
但是當我運行它時,出現錯誤:
# python3.7
Could not find platform dependent libraries <exec_prefix>
Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]
Python 3.7.2 (default, Mar 31 2019, 18:10:07)
[GCC 7.3.1 20180323 [gcc-7-branch revision 258812]] on linux
Type "help", "copyright", "credits" or "license" for more information.
Traceback (most recent call last):
File "/etc/pythonstart", line 7, in <module>
import readline
ModuleNotFoundError: No module named 'readline'
>>>
嘗試在此建立虛擬環境也失敗了。
我考慮過將所有 python3.7 檔案移至/usr/local/bin/
,/usr/bin
但我很擔心,因為 python3.6 已經在那裡,並且每個版本都有不同的其他相關二進位檔案(如python3.7m-config
)。