簡體   English   中英

在虛擬環境中安裝 Django 和模塊

[英]Installing Django and modules in virtual environment

我的問題是我是否必須在我的虛擬環境中每次都安裝 django 才能運行我的 python 文件? 這會占用我機器上的大量空間嗎? 我的項目也使用“matplotlib”,我創建的每個虛擬環境也要求我導入 matplotlib 模塊。 它越來越煩人。 我必須每次都這樣做嗎?

我是 Django 的新手。 I wanted to run some python files in django but they weren't working, so after some research i found out i needed to run my pycharm project in a virtual environment in order to run these python files.

我的文件夾看起來像這樣 pycharmProjects -> 我的項目我進入 pycharmProjects 並使用“pienv shell”設置虛擬環境。 然后我運行“python3 manage.py runserver”。 事實證明,在文件運行之前,我必須在虛擬環境中安裝 django。

簡短的回答是否定的,您根本不必使用虛擬環境,而是可以在全局范圍內安裝您的依賴項。 但是,您很快就會發現它會導致很多問題。 您創建虛擬環境的主要原因是控制您的依賴關系並防止由於它們的線路在項目之間交叉而可能導致的錯誤。

簡短的回答是的。

如果你創建一個virualenv,你必須安裝你的程序需要的所有包。

長答案:

您可以在系統范圍內安裝 django,然后使用選項--system-site-packages創建一個 virtualenv,然后 django 將從您全局安裝的 python 中使用。 (或者您將所有內容都安裝在您的全局 python 中,我個人認為這不是一個好習慣)

如果您處理許多不同的項目,我認為如果每個項目使用一個 virtualenv,您將避免很多麻煩。 麻煩意味着一個項目中斷,因為為另一個項目安裝的一個 pip 更改了一個 package 的版本,一個項目無法處理較新的版本。

我建議為每個項目創建一個requirements.txt文件,列出依賴項,然后您可以使用以下命令創建 virtualenv pip install -r requirements.txt

如果您有requirement.txt文件,那么如果回到舊項目,您可以相當快地創建virtualenvs,並且您可以在磁盤空間不足時刪除virtualenvs。 如果您想安全起見,請在刪除 virtualenv 之前鍵入pip freeze > pipfreeze.txt並使用pip install -r pipfreeze.txt如果您想創建一個具有相同模塊和相同版本的模塊。

如果在類似 linux 的系統上工作,您可能還想查看direnvautoenv 這將在切換到項目的工作目錄時自動切換到所需的 virtualenv。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM