centos 解決python3.7 安裝時No module named _ssl 親測有效
centos安裝python3.7時遇到如下問題,查閱知需要的openssl版本最低為1.0.2,但是centos 預設的為1.0.1,所以需要重新更新openssl
import _ssl # if we can't import it, let the error propagate
ImportError: No module named _ssl
1、安裝依賴庫:
yum install -y zlib zlib-dev openssl-devel sqlite-devel bzip2-devel libffi libffi-devel gcc gcc-c++
2、安裝最新版本的openssl
注意!openssl配置是用config,而不是configure,另外openssl編譯安裝依賴zlib動態庫,所以一定要shared zlib
自行到官網查閱最新版本~
wget http://www.openssl.org/source/openssl-1.1.1.tar.gz
tar -zxvf openssl-1.1.1.tar.gz
cd openssl-1.1.1
./config --prefix=$HOME/openssl shared zlib
make && make install
3、設定環境變數LD_LIBRARY_PATH
echo "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/openssl/lib" >> $HOME/.bash_profile
source $HOME/.bash_profile
這一步一定要有!!LD_LIBRARY_PATH環境變數主要用於指定查詢共享庫(動態連結庫)時除了預設路徑之外的其他路徑。當執行函式動態連結.so時,如果此檔案不在預設目錄下‘/lib’ and ‘/usr/lib’,那麼就需要指定環境變數LD_LIBRARY_PATH
4、解壓python3.7,並安裝,一定要指定剛才安裝的1.1.1版本的openssl!!!
tar -zxvf Python-3.7.0.tgz
./configure --prefix=$HOME/Py37 --with-openssl=$HOME/openssl
make && make install
echo $HOME
5、至此python3.7就安裝完了,來檢驗下ssl模組能否被匯入吧:
[root@izbp12am8wqrn7t6wzgmydz Python-3.7.0]# echo $HOME
/root
[root@izbp12am8wqrn7t6wzgmydz Python-3.7.0]# cd /root/Py37/
[root@izbp12am8wqrn7t6wzgmydz bin]# ./python3
Python 3.7.0 (default, Sep 16 2018, 14:12:43)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-23)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import ssl
>>> import _ssl
>>>
6.更新python軟連結
你要知道系統現在的python的位置在哪兒
[root@izbp12am8wqrn7t6wzgmydz bin]# whereis python
python: /usr/bin/python /usr/bin/python2.7 /usr/bin/python.bak /usr/lib/python2.7 /usr/lib64/python2.7 /etc/python /usr/include/python2.7 /usr/local/python /usr/share/man/man1/python.1.gz
[root@root ~]# cd /usr/bin/
[root@root bin]# ll python*
lrwxrwxrwx. 1 root root 7 2月 7 09:30 python -> python2
lrwxrwxrwx. 1 root root 9 2月 7 09:30 python2 -> python2.7
-rwxr-xr-x. 1 root root 7136 8月 4 2017 python2.7
可以看到,python指向的是python2,python2指向的是python2.7,因此我們可以裝個python3,然後將python指向python3,然後python2指向python2.7,那麼兩個版本的python就能共存了。
7.新增軟連結
將原來的連結備份
mv /usr/bin/python /usr/bin/python.bak
新增python3的軟連結
ln -s /root/Py37/bin/python3.7 /usr/bin/python
測試是否安裝成功了
python -V
相關文章
- 解決Python找不到ssl模組問題 No module named _sslPython
- No module named MYSQLdb 問題解決MySql
- ImportError: No module named ‘torch‘ 解決方法ImportError
- ImportError: No module named setuptools 解決方法ImportError
- CentOS 7安裝chroot NamedCentOS
- ModuleNotFoundError: No module named ‘DBUtils‘解決辦法Error
- Centos 8 安裝RabbitMQ 3.8.4 (親測可用)CentOSMQ
- 解決npm install 報錯,親測有效NPM
- 親測,安裝cocoa pods,簡單,暴力,有效!
- CentOS6.5安裝python3.7CentOSPython
- 解決已安裝opencv但仍提示報錯“no module named cv2“問題OpenCV
- centos安裝mp4box 親測 成功CentOS
- Linux安裝jdk、tomcat 步驟(親測有效)LinuxJDKTomcat
- centos7下安裝Python3.7CentOSPython
- python ModuleNotFoundError: No module named ‘requests‘ 的 解決方案PythonError
- ImportError: No module named thrift.Thrift問題解決ImportError
- centos安裝Python外掛後找不到對應的外掛ModuleNotFoundError: No module named*CentOSPythonError
- pip安裝錯誤:ImportError: No module named 'pkg_resources'ImportError
- GoLand 2024 安裝(附啟用補丁,親測有效)GoLand
- CentOS 7.2 PowerShell下安裝Azure ModuleCentOS
- 【Office 2024軟體下載與安裝教程-親測有效】
- linux centos 7.x 安裝 python3.x 替換 python2.x(親測有效)LinuxCentOSPython
- Scrapy學習中解決No module named tutorial.items問題
- ModuleNotFoundError: No module named ‘matplotlib‘ 一系列解決辦法Error
- pyecharts安裝後import錯誤 ImportError: No module named 'pyecharts_snapshot'EchartsImportError
- ImportError: No module named `defusedxml`ImportErrorXML
- ImportError: No module named yamlImportErrorYAML
- ImportError: No module named utilsImportError
- ModuleNotFoundError: No module named 'sqlite'ErrorSQLite
- ImportError: No module named cElementTreeImportError
- VMware中解決ubuntu不能連線網路問題。(親測有效)Ubuntu
- Win10離線安裝.NET Framework 3.5的方法技巧(親測有效)Win10Framework
- 解決:ModuleNotFoundError: No module named ‘urllib3.packages.six.moves問題ErrorPackage
- 在linux(Centos 7以上版本親測)上安裝mysql5.6LinuxCentOSMySql
- XMind 2022 安裝教程及模板素材 (12.6號親測有效)
- ModuleNotFoundError: No module named 'pyttsx'ErrorTTS
- ImportError: No module named torchvisionImportError
- ModuleNotFoundError: No module named ‘Crypto‘ ‘Cryptodome‘Error