Django安装在dist-packages中

时间:2015-06-22 14:57:44

标签: python django pip yum

我正在使用Amazon Linux AMI(版本2013.09)。 除了其他方面,我的目标是让Django运行起来。 所以这就是我的工作:

  1. 使用yum安装pip(它在Python2.7 / dist-packages中安装pip 7.0.3)
  2. 使用pip
  3. 安装virtualenv
  4. 创建virtualenv(使用--no-site-packages)
  5. 在virtualenv中使用pip安装Django(这将在virtenv的Python目录中安装Django,在dist-packages中)
  6. 这似乎很好,直到我尝试使用manage.py。以下一行:

    python manage.py collectstatic --noinput -c -l > /dev/null
    

    调用以下错误:

    OSError: [Errno 2] No such file or directory: '...my-env/lib/python2.7/site-packages/django/contrib/admin/static'
    

    这是事实,因为整个Django基础架构都在 dist-packages ,而不是 site-packages 。 修复此依赖关系的正确方法是什么?

    谢谢!

    更新28.06.15 Django尝试访问site-packages的原因是其settings.py文件中的'STATIC_ROOT'定义。 事情是,我几年前使用相同的设置以完全相同的方式安装了Django,并且它工作得很好。 那么改变了什么?为什么pip突然转移到dist-packages?

1 个答案:

答案 0 :(得分:6)

有时会在shell中设置PYTHON_INSTALL_LAYOUT="amzn",然后烦恼地进入dist-packages

要禁用此烦恼, unset PYTHON_INSTALL_LAYOUT