創建多個python環境,python創建環境變量

本文目錄一覽:

python命令行創建虛擬環境

命令行創建虛擬環境virtualenv

1、首先創建虛擬環境:virtualenv django1.11

2、cd到django1.11/Scripts,運行 activate 進入虛擬環境

pipenv

如果需要多個python版本開發環境時,可以使用pipenv來創建不同python版本環境

ubuntu 中虛擬環境的搭建

1,安裝虛擬環境

命令:

sudo pip install virtualenv

sudo pip install virtualenvwrapper

1,1查看系統中是否安裝了virtualenv

virtualenv –version

註:

virtualenv 是一個隔離Python環境的工具.

virtualenv 可以讓你在同一個操作系統上建立多個不同的Python環境.

如一個Python2, 另一個Python3, 還有Django1.2 和 Django1.5

項目Python環境互不相同,互不干涉.

virtualenvwrapper是virtualenv的擴展管理包,用於更方便管理虛擬環境,

它可以將所有虛擬環境整合在一個目錄下;

管理(新增,刪除,複製)虛擬環境;

切換虛擬環境等

2,創建虛擬環境

命令:

# python2中

mkvirtualenv 虛擬環境名稱

3 python3中

mkvirtual -p python3 虛擬環境名稱

 python2中

 mkvirtualenv 虛擬環境名稱

3,(在主環境中)查看虛擬環境

命令:workon  兩次tab鍵

或者 workon  回

4,使用虛擬環境

命令:workon 虛擬環境名稱

5,退出虛擬環境

命令:deactivate

6,刪除虛擬環境

命令:rmvirtualenv 虛擬環境名稱

7,x虛擬環境希望使用到y虛擬環境中所安裝的所有的包

步驟:

A:將安裝在x虛擬環境中的包導入到一個文件中去,如果在home目錄中執行的操作,就到home中找這個文件

pip freeze output.txt

B:在y虛擬環境中找到這個文件,並進行安裝

pip install -r output.txt

C: 等待安裝,並檢查y虛擬環境中是否已成功安裝工具包

pip freeze

python虛擬環境搭建

當前python有多個版本,所以輸入命令的時候在不同的場景可能會需要不同的python版本。

就需要安裝python的虛擬環境,方便快速切換python的版本。

安裝python虛擬環境

sudo apt-get install python-virtualenv

sudo apt-get install virtualenvwrapper

創建虛擬環境

mkdir .virtualenvs

vi ~/.bashrc

插入如下兩行

export WORKON_HOME=$HOME/.virtualenvs

source /usr/share/virtualenvwrapper/virtualenvwrapper.sh

然後執行

source ~/.bashrc

mkvirtualenv -p /usr/bin/python3.8 py3env

source py3env/bin/activate

如何為python項目創建虛擬環境

我們在開始一個python項目,而不是幾行簡單的代碼時,我們傾向於開始使用第三方的dependencies.當項目越來越大時,我們需要考慮如何有效的管理這些第三方庫。當安裝第三方庫時,我們肯定是想安裝在虛擬環境中。幫助我們保持我們實際系統環境的乾淨,避免打亂整個系統python環境。

我們可以使用pip把第三方庫安裝到python項目中。一個項目中往往要安裝多個,鑒於安裝的第三方庫的各種版本,可能會導致一些兼容和運行的問題。

當我們在python項目中使用pip install ,我們是安裝到全局python下的,將會根據現有的python版本安裝第三方包。

我們可以通過以下命令來查找python的安裝目錄:

如果我們使用pip3 install ,將會安裝到python3安裝目錄的單獨的目錄下。我們可以用以下命令來覆蓋pip3這個命令:

但是這仍然解決不了我們在全局python下安裝第三方庫的問題,將會出現下列的問題:

為了避免以上的問題,python開發者使用虛擬環境。這個虛擬環境把安裝的這些第三方庫在一個隔離的環境中(目錄內)保存。

確保你的系統上已經安裝python

然後看一下pip是否也能正常調用

我們需要一個工具來創建python的虛擬環境,venv。它是封裝在python3.3+版本以上的python中的。

如果我們使用python2,我們需要手動安裝一個工具。這是為數不多的一個我們需要全局安裝的第三方庫。

注意:我們將會在文章中討論很多venv和python3,操作系統環境不同,可能會導致某些命令的些許不同,某些工具的工作原理也些許不同。

如果你的系統上沒有安裝pip:

我們首先要為項目創建一個文件夾,並進入這個文件夾:

然後我們再創建虛擬環境:

這將會創建一個名為virtualenv的目錄,這個目錄將會包含bin、lib、include文件夾,還有一個環境配置文件。

所有的文件都是為了確保,所有的代碼都運行在當前的虛擬環境下。這會幫我們把工作環境和操作系統環境隔離開來,避免我們之前提到的問題。

為了使用這個虛擬環境,我們需要激活它。激活以後,還會更改我們的命令提示符標誌。這個標誌也是為了表明虛擬環境已經激活,python的代碼都是在這個環境下執行。

在虛擬環境下,無法訪問使用全局的第三方庫,在虛擬環境內安裝的庫也無法在外部使用。

在虛擬環境中,只有pip和setuptools是默認安裝的。

激活虛擬環境後,變量path也會相應地發生改變,以達到虛擬環境的目的。

當我們完成工作,想切換回操作系統的全局環境,我們需要使用deactivate退出虛擬環境。

我們配置了虛擬環境並激活以後,我們不想在分享項目時,連同使用pip install命令安裝的第三方庫也一起分享。我們想去除我們的虛擬環境文件夾,但仍然可以在其他的電腦或系統上重新運行我們的工作。

為實現這個目的,我們可以在項目根目錄下創建一個requirement文件。假設我們在虛擬環境下安裝flask,安裝完成後我們使用pip freeze命令。它將會列出我們已經安裝過的庫名和版本號。

我們可以將這個列表寫到requirement文件中,上傳到git保存,或以任何形式跟他人分享。

這個命令也可以更新這個requirements.txt文件,所以在每次安裝一個新的第三方庫時,我們都習慣性的運行一下這個命令,來更新我們的安裝列表。

然後,如果任何人想在他們的電腦上運行我們的項目,他們只需要做:

所有的一切都如在我們電腦上運行的一樣。

安裝pipenv

pipenv基本上是pip的一個替代工具。它引入了兩個文件,pipfile用來替換requirements.txt,Pipfile lock(which enables deterministic builds,確定第三方庫的子依賴庫版本的更新的解決方案)

pipenv在機理上是運行pip和virtualenv,但使用一個命令來簡化操作。

安裝第三方庫,如flask,或numpy

也可以從Version Control system比如git來安裝第三方庫

需要注意上面的-e參數可以使安裝editable,目前對於pipenv來說是必須的。

如果你需要使用pytest來測試項目,但在上線後不需要這個庫,你可以指定這個庫僅僅作用於開發模式 –dev.

–dev將會把第三庫放到pipfile的一個單獨的地方【dev-packages】。

如果你現在完成了開發,本地運行正常,你想鎖定你的開發環境,並轉至線上。使用如下命令確保開發環境:

這個代碼將會創建或更新你的環境,你無需手動更改編輯。我們也應該一直使用自動生成的文件。

lock以後,在production環境,你需要安裝最新的成功的運行環境。

這個命令是告訴pipenv,安裝時忽略pipfile,用pipfile.lock里的列表。pipenv將會創建一模一樣的環境,包括子依賴庫。

現在,另一個人想要對代碼做些更改,這種情況下,他得到代碼,包括pipfile,運行如下命令

這個命令將會安裝開發所需的所有的第三方庫,包括普通的install以及–dev安裝的。

舉例,現在你開發用到的一個第三庫有了版本升級,因為你不需要一個特定的版本,所以你在install的時候沒有指定版本號。當你運行pipenv install時,最新版本的第三方庫會安裝到你的開發環境內。

然後你對代碼做了一些更改,結果如預期一樣。然後你再重複上面的步驟lock你的環境。並更新至Production.

將會使用默認的editor打開第三方庫的代碼。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/270110.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-16 13:35
下一篇 2024-12-16 13:35

相關推薦

  • Python中引入上一級目錄中函數

    Python中經常需要調用其他文件夾中的模塊或函數,其中一個常見的操作是引入上一級目錄中的函數。在此,我們將從多個角度詳細解釋如何在Python中引入上一級目錄的函數。 一、加入環…

    編程 2025-04-29
  • Python列表中負數的個數

    Python列表是一個有序的集合,可以存儲多個不同類型的元素。而負數是指小於0的整數。在Python列表中,我們想要找到負數的個數,可以通過以下幾個方面進行實現。 一、使用循環遍歷…

    編程 2025-04-29
  • Python計算陽曆日期對應周幾

    本文介紹如何通過Python計算任意陽曆日期對應周幾。 一、獲取日期 獲取日期可以通過Python內置的模塊datetime實現,示例代碼如下: from datetime imp…

    編程 2025-04-29
  • 如何查看Anaconda中Python路徑

    對Anaconda中Python路徑即conda環境的查看進行詳細的闡述。 一、使用命令行查看 1、在Windows系統中,可以使用命令提示符(cmd)或者Anaconda Pro…

    編程 2025-04-29
  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • Python字典去重複工具

    使用Python語言編寫字典去重複工具,可幫助用戶快速去重複。 一、字典去重複工具的需求 在使用Python編寫程序時,我們經常需要處理數據文件,其中包含了大量的重複數據。為了方便…

    編程 2025-04-29
  • Python清華鏡像下載

    Python清華鏡像是一個高質量的Python開發資源鏡像站,提供了Python及其相關的開發工具、框架和文檔的下載服務。本文將從以下幾個方面對Python清華鏡像下載進行詳細的闡…

    編程 2025-04-29
  • 蝴蝶優化算法Python版

    蝴蝶優化算法是一種基於仿生學的優化算法,模仿自然界中的蝴蝶進行搜索。它可以應用於多個領域的優化問題,包括數學優化、工程問題、機器學習等。本文將從多個方面對蝴蝶優化算法Python版…

    編程 2025-04-29
  • Python程序需要編譯才能執行

    Python 被廣泛應用於數據分析、人工智能、科學計算等領域,它的靈活性和簡單易學的性質使得越來越多的人喜歡使用 Python 進行編程。然而,在 Python 中程序執行的方式不…

    編程 2025-04-29
  • 為什麼Python不能編譯?——從多個方面淺析原因和解決方法

    Python作為很多開發人員、數據科學家和計算機學習者的首選編程語言之一,受到了廣泛關注和應用。但與之伴隨的問題之一是Python不能編譯,這給基於編譯的開發和部署方式帶來不少麻煩…

    編程 2025-04-29

發表回復

登錄後才能評論