1. 程式人生 > 實用技巧 >解決vim中No name 'QWidget' in module 'PyQt5.QtWidgets'等問題

解決vim中No name 'QWidget' in module 'PyQt5.QtWidgets'等問題

1.安裝相應的編譯工具

在root使用者下(不要用普通使用者,麻煩),全部複製貼上過去,一次性安裝即可.

yum -y groupinstall "Development tools"
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
yum install -y libffi-devel zlib1g-dev
yum install zlib* -y

2.下載安裝包

wget wget https://www.python.org/ftp/python/3.7.2/Python-3.7.2.tar.xz

3.解壓

tar -xvJf  Python-3.7.2.tar.xz

4.建立編譯安裝目錄

mkdir /usr/local/python3 

5.安裝

cd Python-3.7.2
./configure --prefix=/usr/local/python3 --enable-optimizations --with-ssl 
#第一個指定安裝的路徑,不指定的話,安裝過程中可能軟體所需要的檔案複製到其他不同目錄,刪除軟體很不方便,複製軟體也不方便.
#第二個可以提高python10%-20%程式碼執行速度.
#第三個是為了安裝pip需要用到ssl,後面報錯會有提到.
make && make install

what-does-enable-optimizations-do-while-compiling-python

6.建立軟連結

ln -s /usr/local/python3/bin/python3 /usr/local/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/local/bin/pip3

7.驗證是否成功

python3 -V
pip3 -V

8.報錯處理

錯誤1.

zipimport.ZipImportError: can't decompress data; zlib not available Makefile:1099: recipe for target 'install' failed make: *** [install] Error 1

需要安裝依賴

yum -y install zlib1g-dev

錯誤2.

ModuleNotFoundError: No module named '_ctypes'

需要安裝依賴

yum -y install libffi-devel 

這兩個錯誤需要的依賴已經新增到一開始的依賴安裝上去了
參考文章

9.安裝pipenv

在centos中使用python3.7或以上版本,進行pip install 命令容易報錯

pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
Could not fetch URL https:*******: There was a problem confirming the ssl certificate: 
Can't connect to HTTPS URL because the SSL module is not available. - skipping

在./configure過程中,如果沒有加上–with-ssl引數時,預設安裝的軟體涉及到ssl的功能不可用,剛好pip3過程需要ssl模組,而由於沒有指定,所以該功能不可用。解決辦法是重新對python3.6進行編譯安裝,用一下過程來實現編譯安裝:

cd Python-3.7.2
./configure --with-ssl
make && make install

即可正常使用pip安裝.
這個也在安裝python的時候指定了.
參考文章

10.修改pip安裝源

修改系統pip安裝源
在家目錄下新建.pip資料夾,進入資料夾新建檔案pip.conf之後寫入相應映象網站地址

cd ~
mkdir .pip
cd .pip
vim pip.conf

#進入後新增以下內容,儲存退出.
[global]
index-url = https://mirrors.aliyun.com/pypi/simple

修改pipenv安裝源
在自己的虛擬環境中找到Pipfile檔案,將其中的url = "https://pypi.org/simple"修改為你需要的國內映象,如https://mirrors.aliyun.com/pypi/simple/

[root@localhost myproject]# vim Pipfile 


[[source]]
name = "pypi"
url = "https://pypi.org/simple" # 改為url = "https://mirrors.aliyun.com/pypi/simple/"
verify_ssl = true

[dev-packages] #這裡是開發環境專屬包,使用pipenv install --dev package來安裝專屬開發環境的包

[packages] # 全部環境的通用包,安裝在這裡.

[requires]
python_version = "3.7"