django - 在 EC2 上的 Virtualenv 中运行 Django -- ImportError : No module named django. core.management

标签 django amazon-ec2 virtualenv pip

我在本地的 git 存储库中开发了一个 django 应用程序。我为该项目启动了一个 EC2 实例,并设置了一个包含(我认为是)正确的包/依赖项的 virtualenv。然后我继续将我的存储库克隆到 virtualenv 中。现在,我遇到了困难,因为我收到以下错误:

我尝试使用python manage.py runserver example.com/8080进行测试。我确信使用 source bin/activate 激活 virtualenv,就像我在本地 virtualenv 中所做的那样。当我调用 ... runserver 时,出现以下错误:

Traceback (most recent call last):
  File "manage.py", line 8, in <module>
    from django.core.management import execute_from_command_line
ImportError: No module named django.core.management

这是 sudo pip freeze 产生的结果:

Warning: cannot find svn location for distribute==0.6.24dev-r0
Cheetah==2.4.4
Django==1.5.2
Fabric==1.8.0
GnuPGInterface==0.3.2
Landscape-Client==12.05
M2Crypto==0.21.1
PAM==0.4.2
PyYAML==3.10
South==0.8.2
Twisted-Core==11.1.0
Twisted-Names==11.1.0
Twisted-Web==11.1.0
apt-xapian-index==0.44
argparse==1.2.1
boto==2.2.2
chardet==2.0.1
cloud-init==0.6.3
command-not-found==0.2.44
configobj==4.7.2
## FIXME: could not find svn URL in dependency_links for this package:
distribute==0.6.24dev-r0
django-s3-folder-storage==0.1
django-storages==1.1.8
django-tastypie==0.10.0
ecdsa==0.9
euca2ools==2.0.0
gunicorn==18.0
httplib2==0.7.2
keyring==0.9.2
language-selector==0.1
launchpadlib==1.9.12
lazr.restfulclient==0.12.0
lazr.uri==1.0.3
medusa==0.5.4
meld3==0.6.5
oauth==1.0.1
paramiko==1.12.0
psycopg2==2.5.1
pyOpenSSL==0.12
pycrypto==2.4.1
pycurl==7.19.0
pyserial==2.5
python-apt==0.8.3ubuntu7.1
python-dateutil==2.1
python-debian==0.1.21ubuntu1
simplejson==2.3.2
six==1.4.1
supervisor==3.0a8
ufw==0.31.1-1
unattended-upgrades==0.1
virtualenv==1.10.1
wadllib==1.3.0
wsgiref==0.1.2
zope.interface==3.6.1

...这是我的 ./manage.py 文件:

#!/usr/bin/env python
import os
import sys

if __name__ == "__main__":
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "my_project.settings")

    from django.core.management import execute_from_command_line

    execute_from_command_line(sys.argv)

关于如何修复此错误有什么想法吗?我尝试将 #!/usr/bin/env python 更改为 #!/var/www/paletto-env/bin python,试图将其定向到我的实际 python路径,但它没有带来任何明显的变化,所以我把它改回来了。

感谢您的帮助。

最佳答案

看起来你的环境找不到 Django,即使它显然在你的 pip freeze 中。

尝试从虚拟环境中打开 Python(不是 Django)shell 并输入:

import django
django.VERSION

如果您遇到同样的错误,则您的 Django 安装可能存在问题。您的虚拟环境可能找不到它。您可以尝试修改路径设置,或者重新安装 Django。

如果您可以成功导入 Django,或者尝试重新安装但不起作用,则可能存在权限问题。确保负责运行服务器的用户可以访问 virtualenv 中存储 python 库的位置。

关于django - 在 EC2 上的 Virtualenv 中运行 Django -- ImportError : No module named django. core.management,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19326589/

相关文章:

python - Algolia reindex 命令在 urllib3 中失败并出现异常

mysql - 如何在Amazon EC2 上浏览MySQL 数据库中的数据?

mysql - 如何使用 Confluence Kafka JDBC 源连接器从亚马逊 EC2 实例中提取数据?

python - 搜索路径和Python虚拟环境

path - PATH= :$PATH and PATH ="$PATH:" and other export lines 之间有什么不同

python - 共享 Python virtualenv 环境

javascript - 将 JavaScript 生成的图像上传到 Django

python - 如何调试 "Exception while resolving variable in template ' 未知'”?

sql - 为什么此Django原始SQL查询未返回输出?

amazon-web-services - neo4j产生 "No authorization header supplied"错误