Python (Windows 服务器) Virtualenv 无法识别 Django 已安装
Python (Windows Server) Virtualenv not recognizing Django is installed
我的虚拟环境拒绝识别我安装的 Django(奇怪)
我在 Windows 服务器上,安装了 Python 3.7 到我的 windows 路径中有 C:\Python37;C:\Python37\Scripts
的目录 (C:\Python37
) 所以使用 Powershell 或 GitBash 时,我可以使用 python
命令。
如果我 运行 where python
它显示默认安装
我 CD 到我的 django 项目目录和 运行:
python virtualenv venv
并创建了 venv 目录
然后我 运行 source venv/Scripts/activate
它会正确激活。
当我 运行 where python
它显示 venv
目录中的 exe - 这是预期的和适当的。
我 运行 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 可执行文件,而不是虚拟环境 Python.
只需 运行 设置适当的 Python 即可解决此问题(例如)
C:/my_project/venv/Scripts/python manage.py collectstatic
这迫使它使用虚拟环境 python 来 运行 命令,所以一切都按预期工作。
我的虚拟环境拒绝识别我安装的 Django(奇怪)
我在 Windows 服务器上,安装了 Python 3.7 到我的 windows 路径中有 C:\Python37;C:\Python37\Scripts
的目录 (C:\Python37
) 所以使用 Powershell 或 GitBash 时,我可以使用 python
命令。
如果我 运行 where python
它显示默认安装
我 CD 到我的 django 项目目录和 运行:
python virtualenv venv
并创建了 venv 目录
然后我 运行 source venv/Scripts/activate
它会正确激活。
当我 运行 where python
它显示 venv
目录中的 exe - 这是预期的和适当的。
我 运行 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 可执行文件,而不是虚拟环境 Python.
只需 运行 设置适当的 Python 即可解决此问题(例如)
C:/my_project/venv/Scripts/python manage.py collectstatic
这迫使它使用虚拟环境 python 来 运行 命令,所以一切都按预期工作。