[英]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.