版本管理工具--pyenv
這個呢是一個Python版本管理的包,你可以通過git直接下載源碼,安裝方法里面都有https://github.com/pyenv/pyenv git地址,下載下來,然后一步一步跟著做就好了.
簡單來看一下幾個路徑含義
- ~/.pyenv/shims/
這里面存放的python命令,是我們在終端輸入python時候執行的,我們可以把PATH打印一下,可以看出,這個路徑的命令是在最前面的.我們輸入python后,pyenv會根據我們設置的去找真正要執行的python命令
- ~/.pyenv/versions/
這個目錄里面存放的就是我們安裝的python版本.
注意:如果我們安裝時候特別慢,不要著急.我們可以把終端打印出來的地址,放在瀏覽器里,然后下載下來,把下載的文件移動到~/.pyenv/cache/下就可以.剛開始要自己建這個cache目錄的.
python版本設置有兩個命令,
- pyenv local 名稱:在當前目錄使用這個python版本
- pyenv global 名稱:將全局的python版本設置成這個版本
名稱我們可以通過pyenv versions來查看,里面會有一個system的名稱,這個是你機器原來的python版本.一般情況下我們都用local來針對某一個目錄設置python,全局還是用我們系統的.用local我們可以在當前目錄下找到一個.python_version的文件.pyenv應該就是讀這個文件,知道你在當前目錄要用什么版本的python.
用過node的可能會發現,其實這個跟node的nvm差不多一樣的性質
虛擬環境--virtualenv
我最開始使用的虛擬環境是virtualenv,這個的用法,網上也有一大堆.簡單說一下吧.因為我現在很少用
安裝:pip install virtualenv
創建:virtualenv env名稱
進入虛擬環境:source env名稱/bin/activate
退出虛擬環境:deactivate
進入環境,你就可以在里面用pip install了.安裝的包就是在當前環境中..
虛擬環境--anconda
后來我看還有個anconda的包管理器,也能創建虛擬環境.這個也有很多安裝教程.
安裝:官網有教程,下載下來運行就可以了
創建:conda create -n env名稱 python=2.7
進入:conda activate env名稱
退出:conda deactivate
進入環境,你也可以在里面安裝包,安裝包用的是anconda的命令:conda install 包.這里面可能有一些包找不到,你也可以用pip install來安裝.
注意:用pip來安裝就有點坑,如果你本地機器上已經安裝了這個包了,那pip install就安裝不了,如果你pip install安裝的包跟你本機的版本不一樣,他會卸載了本機的包,然后重新在你的conda環境中新安裝一個包.這樣你本機就沒有這個包了.對于一個新機器來說,可能比較好吧,畢竟以后運行項目都在虛擬環境,但是對于一些有在本機環境運行項目的人來說,就不那么友好,有可能你用著anconda,莫名其妙的本機就缺少包.當然你也可以再安裝.
虛擬環境--pipenv
后來,最近我又發現了一個pipenv這個.這個感覺比較好,
安裝:pip install pipenv
創建:pipenv install --python=2.7
進入:進入目錄,pipenv shell
退出:deactivate
創建一個虛擬環境,存放在默認目錄下,我的默認目錄是~.local/share/下面,然后會在當前目錄創建一個Pipfile的文件. 里面記錄著你安裝的包.安裝包用pipenv install ,安裝的包,都會在Pipfile里面記錄著,如果你當前目錄已經有Pipfile,你pipenv install,他就會創建一個跟當前目錄關聯的虛擬環境,然后安裝Pipfile中的包.里面可以設置下載包的源.以提高下載速度.安裝完,會生成一個Pipfile.lock的文件.里面記錄著真實的下載的包的一些信息,當項目遷移的時候,把這幾個目錄一起,不管在哪里,運行的環境都是一樣的.這也是我比較喜歡的一點.有點像node的package.json文件的功能.