我正在设置一个使用WSGI在Apache上运行的Django应用程序。我在Mac上的项目目录中创建了一个virtualenv,在那里安装了Django并确保它有效。
运行source ./virt_name/bin/activate
后,我在Mac上获得了以下结果:
which python
- > /Users/user/www/sites/Playground/Django-tut/app_name/app-env/bin/python
which python3
- > /Users/user/www/sites/Playground/Django-tut/app_name/app-env/bin/python3
which pip
- > /Users/user/www/sites/Playground/Django-tut/app_name/app-env/bin/pip
然后我使用相同的app目录并将其(使用Git)传输到EC2实例。在激活虚拟环境(看似成功)后,我得到以下内容:
which python
- > /usr/bin/python
which python3
- > /usr/bin/python3
which pip
- > /usr/bin/pip
这是预期的行为吗?我怎样才能解决这个问题?我的理解是,当一个人激活一个virtualenv时,二进制文件应该被“拾起”#34;从那里而不是系统目录?
P.S。这阻止mod_wsgi
找到virtualenv中包含的Django,从而使应用程序无法成功运行。
编辑:以下是env目录的屏幕截图。