Ubuntu 14.04对硬件的要求还是稍高,笔记本有些力不足。Ubuntu 12.04默认是python2,用pip安装模块后也是为python2安装的。想要在Ubuntu 12.04给python3安装需要先安装pip3:
sudo apt-get install python3-setuptools sudo easy_install3 pip
然后就可以使用pip3为python3安装模块了,如:
pip3 install lxml pip3 install lxml==4.5.0 pip3 install lxml>=4.5.0 #重新安裝指定版本 pip3 install lxml==4.5.0 --force-reinstall #製作與使用requirements文件 pip freeze > requirements.txt pip install -r requirements.txt
剛剛安裝numpy,網速令人抓狂,掛上代理就好多了(沒有合適代理可用下面方法指定國內軟件源):
pip3 install --proxy http://127.0.0.1:8123 numpy
使用重裝大法解決 pip 出現各種疑難
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py python3 get-pip.py --force-reinstall ln -s 目標文件 鏈接文件 ln -s /usr/local/bin/python3.5 /usr/bin/python3
ImportError: No module named _internal.cli.main 可以嘗試把 pip 文件的 from pip._internal import main 修改為 from pip import main
Centos 或 Fedora 安裝python3
其實centos安裝python3就和安裝其他軟件一樣,從官網下載,然後解壓,三扳斧搞定。那我為什麼要記下來呢,只是感嘆下,這麼厲害的軟件居然這麼好裝,哈哈哈!
#for sqlite3 yum install sqlite-devel #for virtualenv yum install zlib-devel #其他依賴 yum install libffi-devel openssl-devel xz-devel bzip2-devel #然后 wget https://www.python.org/ftp/python/3.9.11/Python-3.9.11.tar.xz tar xf Python-3.9.11.tar.xz ./configure --prefix="/usr/local" --enable-optimizations --enable-loadable-sqlite-extensions make sudo make install ##如果上面編譯的時候加了指定的參數,就不用看下面這幾行了 # centos7 安裝 python3.7的時候要安裝 yum install libffi-devel openssl-devel # configure 也要加上 --with-ssl ./configure --with-ssl #解決的是 No module named '_ctypes' #和 No module named '_ssl'
python3沒有_tkinter
如果安裝python3時沒有裝tkinter,那麼很可能會遇到這個錯誤:ImportError: No module named _tkinter,我在使用pandas導出圖表時就遇到了。CentOS下經過嘗試,先安裝下面兩個軟件,然後再次執行上面的三扳斧,就有_tkinter模塊啦。
yum install tkinter yum install tk-devel
Ubuntu下我的python3.5是系統自帶的,所以直接安裝下面的軟件即可。
sudo apt-get install python3-tk sudo apt-get install tk-dev
Fedora自帶python3,但是也沒有自帶_tkinter,這時只要安裝dnf install python3-tkinter就可以了。
使用 Python 自帶的 venv 模塊建立虛擬環境
自帶的 venv 模塊可以直接使用,可以搭配 pip freeze > requirements.txt
和 pip install -r requirements.txt
來遷移環境。
#在當前目錄建立虛擬環境 python3.11 -m venv my_venv 啟用虛擬環境 source my_venv/bin/activate #直接使用 pip 安裝需要的依賴即可 #推出虛擬環境 deactivate #刪除虛擬環境 rm -rf my_venv #以虛擬環境運行 Python 項目 my_venv/bin/python YOUR_SCRIPT.py
使用 pipenv 建立虛擬環境
#如果主環境沒有 pipenv,則需先安裝 pip install pipenv #建立一個 Python 3.11 的虛擬環境 pipenv --python 3.11 #如果系統沒有 Python 3.11 則需要你先安裝或編譯,我推薦安裝系統編譯好的 sudo dnf install python3.11 python3.11-devel #安裝依賴 pipenv install <package_name> #刪除依賴 pipenv uninstall <package_name> #檢查安全漏洞 pipenv check #啟用虛擬環境 pipenv shell #退出虛擬環境 exit #在當前文件夾運行 Python 項目 pipenv run YOUR_SCRIPT.py #查看虛擬環境的具體位置 pipenv --py #/home/42/.local/share/virtualenvs/scripts-t2tF_lNI/bin/python #使用虛擬環境運行 Python 項目 /home/42/.local/share/virtualenvs/scripts-t2tF_lNI/bin/python /home/42/workspace/scripts/YOUR_SCRIPT.py #刪除虛擬環境 pipenv --rm #恢復虛擬環境。進入 Pipfile 和 Pipfile.lock 所在目錄 pipenv install
使用virtualenv才是解決多python版本的好方法(過時)
多版本的Python及virtualenv的安裝請參考:在CentOS 6.4上设置Python 2.7.6和3.3.3环境,我這裡簡單記下virtualenv的使用。使用virtualenv不必使用高權限。
#centos安裝pip和virtualenv #Step1 ##For RHEL 7.x and CentOS 7.x (x86_64) yum install epel-release #Step2 yum install -y python-pip #Step3 pip install virtualenv #Fedora裝virtualenv dnf install python3-pip dnf install python3-virtualenv
#在當前目錄新建一個python環境 cd pythons #查看python所在目錄 whereis python #生成python2.7的環境 virtualenv --python=/usr/local/bin/python2.7 p27 #或生成python3.5的環境 virtualenv --python=/usr/local/bin/python3.5 p35 #如果報ImportError: No module named zlib,centos下可安裝zlib-devel #然後重新對python執行make和make install cd p27 #啟用python2.7的環境 source bin/activate #退出當前環境 deactivate
pip使用國內軟件源
有時網絡環境惡劣,pip裝組建時經常遇到中斷,可以通過下面命令使用國內的軟件源進行安裝。
#豆瓣 pip install numpy -i https://pypi.douban.com/simple/ #阿里雲 pip install virtualenv --trusted-host mirrors.aliyun.com -i http://mirrors.aliyun.com/pypi/simple
如果想永久修改pip的軟件源,可以修改~/.pip/pip.conf(centos下root用戶為/root/.pip/pip.conf)內容如:
[global] trusted-host = mirrors.aliyun.com index-url = http://mirrors.aliyun.com/pypi/simple
fedora安裝psutil出現No such file
可能是沒有安裝dev和redhat-rpm-config
#python2 dnf install python-devel #python3 dnf install python3-devel #redhat-rpm-config dnf install redhat-rpm-config
本文更新於 2024/03/01。
在〈pip3为python3安装模块〉中有 1 則留言
寫得不錯