最近在Ubuntu中使用pandas庫的時候,出現了一個問題,Google了好久最終是解決了。記錄一下解決的步驟
首先安裝Ubuntu依賴
rpm -ivh zlib-1.2.7-19.el7_9.x86_64.rpm –replacefiles
rpm -ivh zlib-devel-1.2.7-19.el7_9.x86_64.rpm –replacefiles
解壓python源碼文件,並進入 $ sudo tar -zxvf Python-3.7.9.tgz $ cd Python-3.7.9/ 編譯文件安裝 $ sudo ./configure $ sudo make $ sudo make install 然后使用該python創建一個python虛擬環境 ./python -m venv myvenv 進入虛擬環境並安裝pandas庫 $ source venv/bin/activate $ pip3 install pandas 修改軟連接which python ln -s /usr/local/python3.9/bin/python3.9 /usr/bin/python3 刪除/usr/bin/python3 創建新連接
查看import 報錯
ModuleNotFoundError: No module named '_bz2'
該錯誤是缺失_bz2.cpython-38-x86_64-linux-gnu.so這個os文件,處理步驟如下:
1)下載該文件: https://pan.baidu.com/s/1iPuEBYnUABWf94QM9fQZgQ 提取碼: nw2g
2)將下載后的文件放到python3.8文件夾里/usr/local/python/lib/python3.8/lib-dynload/目錄下;
在lib-dynload目錄下使用"chmod +x _bz2.cpython-38-x86_64-linux-gnu.so"增加該文件的可執行權限
3)再次運行程序可能還會報錯:ImportError: libbz2.so.1.0: cannot open shared object file: No such file or directory
1.首先需要使用sudo yum install -y bzip2* 確保系統已經安裝了相關的庫;
2.此時會發現在/usr/lib64目錄下會發現其實有libbz2.so.1.0.6這樣一個文件,我們只需要在該目錄下使用命令
"sudo ln -s libbz2.so.1.0.6 libbz2.so.1.0"創建一個該文件的軟連接。
報錯:
UserWarning: Could not import the lzma module. Your installed Python is incomplete. Attempting to use lzma compression will result in a RuntimeError.
安裝
backports.lzma-0.0.14安裝
python3 setup.py install
xz-5.2.5安裝
$ sudo ./configure
$ sudo make
$ sudo make install
在執行
pip3 install --no-index --find-links=../pip -r requirements.txt