1. 程式人生 > 實用技巧 >CentOS編譯安裝Python 3.8

CentOS編譯安裝Python 3.8

https://www.pythonf.cn/read/24249

4.2 編譯時提示Could not import runpy module錯誤

錯誤資訊如下,因為開啟了編譯優化,但gcc版本過低,升級gcc版本解決。

LD_LIBRARY_PATH=/opt/Python-3.8.0 ./python -E -S -m sysconfig --generate-posix-vars ;\if test $? -ne 0 ; then \        echo "generate-posix-vars failed" ; \        rm -f ./pybuilddir.txt ; \        exit 1 ; \fiCould not import runpy moduleTraceback (most recent call last):  File "/opt/Python-3.8.0/Lib/runpy.py", line 15, in <module>    import importlib.util  File "/opt/Python-3.8.0/Lib/importlib/util.py", line 14, in <module>    from contextlib import contextmanager  File "/opt/Python-3.8.0/Lib/contextlib.py", line 4, in <module>    import _collections_abcSystemError: <built-in function compile> returned NULL without setting an errorgenerate-posix-vars failedmake[1]: *** [pybuilddir.txt] Error 1make[1]: Leaving directory `/opt/Python-3.8.0'make: *** [profile-opt] Error 2

(1) --enable-optimization和--with-lto做了哪些優化 在stackoverflow上有個關於這個問題的討論: Python編譯優化都做了哪些?大體意思是能夠使python提升10%-20%速度。

(2) 升級gcc版本

  • 安裝CentOS軟體集:yum install -y centos-release-scl
  • 安裝編譯工具鏈:yum install -y devtoolset-8-toolchain
  • 啟用新的工具鏈:scl enable devtoolset-8 bash