簡體   English   中英

Python(Windows Server)Virtualenv無法識別Django已安裝

[英]Python (Windows Server) Virtualenv not recognizing Django is installed

我的虛擬環境拒絕識別我的Django安裝(奇怪的是)

我在Windows Server上,將Python 3.7安裝到目錄( C:\\Python37 ),該目錄在Windows路徑中具有C:\\Python37;C:\\Python37\\Scripts ,因此在使用Powershell或GitBash時可以使用python命令。

如果我where python運行where python它將顯示默認安裝

我將CD放入django項目目錄並運行: python virtualenv venv並創建了venv目錄

然后,我運行source venv/Scripts/activate ,它會適當激活。

當我where python運行時where python它會在venv目錄中顯示venv這是正常現象。

我運行pip install -r requirements.txt並正確安裝了所有需求。 我確認它們已經安裝了pip freeze (均已正確安裝)

完成后,我將運行python manage.py collectstatic (在此特定實例中無需遷移),我收到一條錯誤消息,提示未安裝Django。

為了檢查這一點,在我的virtualenv仍然被激活的情況下,我輸入了shell( python

如果我確實import django ,它還說未安裝Django。

我無法弄清楚這里發生了什么-python版本似乎是正確的,已激活了正確的virtualenv-但它仍然沒有看到正確安裝的Django安裝。

有什么想法嗎? 有想法嗎?

為了它的價值,這是解決方案和解釋:

一切都按問題中所概述的那樣正常工作-實際python命令不起作用的原因與.bashrc文件中的一行有關。

.bashrc文件中有一個別名,用於將python設置為命令winpty C:\\Python37\\python

因此,當執行命令python manage.py collectstatic時,它正在查看Python37目錄中的Python可執行文件,而不是virtualenvironment Python。

這可以通過簡單地運行適當的Python(例如C:/my_project/venv/Scripts/python manage.py collectstatic )解決: C:/my_project/venv/Scripts/python manage.py collectstatic

這迫使它使用virtualenvironment python運行命令,因此一切都按預期工作。

暫無
暫無

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

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