我正在研究 Amazon Linux AMI(版本 2013.09)。
我的目标之一是让 Django 启动并运行。
所以这就是我要做的:

  • 使用 yum 安装 pip(它在 Python2.7/dist-packages 中安装 pip 7.0.3)
  • 使用 pip
  • 安装 virtualenv
  • 创建一个 virtualenv(使用 --no-site-packages)
  • 在 vi​​rtualenv 中使用 pip 安装 Django(这将在 virtenv 的 Python 目录中安装 Django,在 dist-packages 内)

  • 这似乎很好,直到我尝试使用 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 尝试访问站 pip 包的原因是它的 settings.py 文件中的“STATIC_ROOT”定义。
    事情是,几年前,我以完全相同的方式安装了 Django,使用相同的设置,并且运行良好。
    那么有什么变化呢?为什么 pip 突然转移到了 dist-packages?

    最佳答案

    有时 PYTHON_INSTALL_LAYOUT="amzn" 被设置在一个 shell 中,然后烦人的东西进入 dist-packages

    为了消除这种烦恼,unset PYTHON_INSTALL_LAYOUT

    关于python - Django 安装在 dist-packages 中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30983243/

    10-14 18:58