自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

使用 virtualenvwrapper 構建 Python 虛擬環(huán)境

開發(fā) 后端
Python 對管理虛擬環(huán)境的支持,已經提供了一段時間了。Python 3.3 甚至增加了內置的 venv 模塊,用于創(chuàng)建沒有第三方庫的環(huán)境。Python 程序員可以使用幾種不同的工具來管理他們的環(huán)境,我使用的工具叫做 virtualenvwrapper。

[[385315]]

虛擬環(huán)境是安全地使用不同版本的 Python 和軟件包組合的關鍵。

Python 對管理虛擬環(huán)境的支持,已經提供了一段時間了。Python 3.3 甚至增加了內置的 venv 模塊,用于創(chuàng)建沒有第三方庫的環(huán)境。Python 程序員可以使用幾種不同的工具來管理他們的環(huán)境,我使用的工具叫做 virtualenvwrapper。

虛擬環(huán)境是將你的 Python 項目及其依賴關系與你的系統(tǒng)安裝的 Python 分離的一種方式。如果你使用的是基于 macOS 或 Linux 的操作系統(tǒng),它很可能在安裝中附帶了一個 Python 版本,事實上,它很可能依賴于那個特定版本的 Python 才能正常運行。但這是你的計算機,你可能想用它來達到自己的目的。你可能需要安裝另一個版本的 Python,而不是操作系統(tǒng)提供的版本。你可能還需要安裝一些額外的庫。盡管你可以升級你的系統(tǒng) Python,但不推薦這樣做。你也可以安裝其他庫,但你必須注意不要干擾系統(tǒng)所依賴的任何東西。

虛擬環(huán)境是創(chuàng)建隔離的關鍵,你需要安全地修改不同版本的 Python 和不同組合的包。它們還允許你為不同的項目安裝同一庫的不同版本,這解決了在相同環(huán)境滿足所有項目需求這個不可能的問題。

為什么選擇 virtualenvwrapper 而不是其他工具?簡而言之:

  • 與 venv 需要在項目目錄內或旁邊有一個 venv 目錄不同,virtualenvwrapper 將所有環(huán)境保存在一個地方:默認在 ~/.virtualenvs 中。
  • 它提供了用于創(chuàng)建和激活環(huán)境的命令,而且激活環(huán)境不依賴于找到正確的 activate 腳本。它只需要(從任何地方)workon projectname而不需要 source ~/Projects/flashylights-env/bin/activate。

開始使用

首先,花點時間了解一下你的系統(tǒng) Python 是如何配置的,以及 pip 工具是如何工作的。

以樹莓派系統(tǒng)為例,該系統(tǒng)同時安裝了 Python 2.7 和 3.7。它還提供了單獨的 pip 實例,每個版本一個:

  • 命令 python 運行 Python 2.7,位于 /usr/bin/python
  • 命令 python3 運行 Python 3.7,位于 /usr/bin/python3
  • 命令 pip 安裝 Python 2.7 的軟件包,位于 /usr/bin/pip
  • 命令 pip3 安裝 Python 3.7 的包,位于 /usr/bin/pip3

 

Python commands on Raspberry Pi

在開始使用虛擬環(huán)境之前,驗證一下使用 python 和 pip 命令的狀態(tài)是很有用的。關于你的 pip 實例的更多信息可以通過運行 pip debug 或 pip3 debug 命令找到。

在我運行 Ubuntu Linux 的電腦上幾乎是相同的信息(除了它是 Python 3.8)。在我的 Macbook 上也很相似,除了唯一的系統(tǒng) Python 是 2.6,而我用 brew 安裝 Python 3.8,所以它位于 /usr/local/bin/python3(和 pip3 一起)。

安裝 virtualenvwrapper

你需要使用系統(tǒng) Python 3 的 pip 安裝 virtualenvwrapper

  1. sudo pip3 install virtualenvwrapper

下一步是配置你的 shell 來加載 virtualenvwrapper 命令。你可以通過編輯 shell 的 RC 文件(例如 .bashrc、.bash_profile 或 .zshrc)并添加以下幾行:

  1. export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
  2. export VIRTUALENVWRAPPER_VIRTUALENV=/usr/local/bin/virtualenv
  3. source /usr/local/bin/virtualenvwrapper.sh

 

bashrc

如果你的 Python 3 位于其他地方,請根據(jù)你的設置修改第一行。

關閉你的終端,然后重新打開它,這樣才能生效。第一次打開終端時,你應該看到 virtualenvwrapper 的一些輸出。這只會發(fā)生一次,因為一些目錄是作為設置的一部分被創(chuàng)建的。

現(xiàn)在你應該可以輸入 mkvirtualenv --version 命令來驗證 virtualenvwrapper 是否已經安裝。

創(chuàng)建一個新的虛擬環(huán)境

假設你正在進行一個名為 flashylights 的項目。要用這個名字創(chuàng)建一個虛擬環(huán)境,請運行該命令:

  1. mkvirtualenv flashylights

環(huán)境已經創(chuàng)建并激活,所以你會看到 (flashlylights) 出現(xiàn)在你的提示前:

 

Flashylights prompt

現(xiàn)在環(huán)境被激活了,事情發(fā)生了變化。python 現(xiàn)在指向一個與你之前在系統(tǒng)中識別的 Python 實例完全不同的 Python 實例。它為你的環(huán)境創(chuàng)建了一個目錄,并在其中放置了 Python 3 二進制文件、pip 命令等的副本。輸入 which python 和 which pip 來查看它們的位置。

 

Flashylights command

如果你現(xiàn)在運行一個 Python 程序,你可以用 python 代替 python3 來運行,你可以用 pip 代替 pip3。你使用 pip安裝的任何包都將只安裝在這個環(huán)境中,它們不會干擾你的其他項目、其他環(huán)境或系統(tǒng)安裝。

要停用這個環(huán)境,運行 deactivate 命令。要重新啟用它,運行 workon flashylights

你可以用 workon 或使用 lsvirtualenv 列出所有可用的環(huán)境。你可以用 rmvirtualenv flashylights 刪除一個環(huán)境。

在你的開發(fā)流程中添加虛擬環(huán)境是一件明智的事情。根據(jù)我的經驗,它可以防止我在系統(tǒng)范圍內安裝我正在試驗的庫,這可能會導致問題。我發(fā)現(xiàn) virtualenvwrapper 是最簡單的可以讓我進入流程的方法,并無憂無慮地管理我的項目環(huán)境,而不需要考慮太多,也不需要記住太多命令。

高級特性

  • 你可以在你的系統(tǒng)上安裝多個 Python 版本(例如,在 Ubuntu 上使用 deadsnakes PPA),并使用該版本創(chuàng)建一個虛擬環(huán)境,例如,mkvirtualenv -p /usr/bin/python3.9 myproject
  • 可以在進入和離開目錄時自動激活、停用。
  • 你可以使用 postmkvirtualenv 鉤子在每次創(chuàng)建新環(huán)境時安裝常用工具。

更多提示請參見文檔。 

責任編輯:龐桂玉 來源: Linux中國
相關推薦

2019-07-02 06:31:27

Python虛擬環(huán)境代碼

2021-10-28 19:08:29

Python虛擬環(huán)境

2021-11-15 05:44:16

Python虛擬環(huán)境開發(fā)

2021-08-13 08:42:48

Python 編程技巧poetry

2009-12-29 10:50:47

2009-02-02 15:07:54

服務器虛擬化VMware

2020-07-06 07:00:21

PyCharm虛擬環(huán)境

2019-07-11 16:20:22

MacOSPython

2024-05-28 09:26:42

2021-07-30 20:25:04

pipxPython編程語言

2020-05-22 08:52:08

LinuxPython工具

2021-03-01 08:00:00

Linux開發(fā)虛擬環(huán)境

2013-10-11 16:47:38

2023-05-05 16:37:13

CPU 性能虛擬環(huán)境虛擬化

2021-09-18 08:00:00

Python系統(tǒng)開發(fā)

2011-08-22 13:56:09

Linux虛擬

2021-08-13 07:56:13

Python虛擬環(huán)境

2021-07-05 06:51:42

Python虛擬環(huán)境

2011-06-24 13:55:48

SSDvSphere內存

2010-11-30 16:26:38

點贊
收藏

51CTO技術棧公眾號