繁体   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