一.local命令
在執行一個項目的時候,在目錄及子目錄生效,因此如果用local在當前值子目錄生效。
當使用pyenv local 3.5.2
后,在當前目錄下,會默認生成一個.python-version的文件,打開文件里面顯示的是當前的使用版本。
[root@localhost ~]# pyenv version
3.5.2 (set by /root/.python-version)
也可以通過對上述生成的隱藏文件進行刪除,就可以恢復至系統自帶的python版本中
[root@localhost ~]# rm -f .python-version
在其他的目錄中,使用local則不會受到影響,因此global命令需要慎用
二.global命令
切換全局默認python版本
此命令慎用,最好永遠不要使用
三.virtualenv
Java語言是基于項目project的,而python是基于site的,
Java認為每個機器可能會裝多個版本java,而python認為每個機器只安裝一個python,
但是實際情況不是這樣,python可能也需要多個版本去適應不同的環境,
因此提出了python虛擬的概念,就是為每個版本的python創建一個虛擬環境。
通常為了避免沖突,需要每個project項目建立一個virtualenv
- 使用
# pyenv virtualenv 3.5.2 beyond
為其創建一個虛擬環境。然后查看結果,
發現多了一個/envs/beyond。
[root@localhost ~]# pyenv versions
system
* 3.5.2 (set by /root/.python-version)
3.5.2/envs/beyond
beyond
- 使用
pyenv local 3.5.2/envs/beyond
,可以使用
(3.5.2/envs/beyond) [root@localhost ~]# pyenv version
3.5.2/envs/beyond (set by /root/.python-version)
- 使用uninstall卸載envs的beyond虛擬環境
[root@localhost ~]# pyenv uninstall beyond
pyenv-virtualenv: remove /root/.pyenv/versions/3.5.2/envs/beyond? y
[root@localhost ~]# pyenv versions
system
* 3.5.2 (set by /root/.python-version)