【问题标题】:Django installed in dist-packages安装在 dist-packages 中的 Django
【发布时间】:2015-06-22 14:57:44
【问题描述】:

我正在开发 Amazon Linux AMI(版本 2013.09)。 除其他外,我的目标是让 Django 启动并运行。 所以这就是我要做的:

  1. 使用 yum 安装 pip(它在 Python2.7/dist-packages 中安装 pip 7.0.3)
  2. 使用 pip 安装 virtualenv
  3. 创建一个 virtualenv(使用 --no-site-packages)
  4. 在 virtualenv 中使用 pip 安装 Django(这会将 Django 安装在 virtenv 的 Python 目录中,在 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 尝试访问站点包的原因是其 settings.py 文件中的“STATIC_ROOT”定义。 问题是,几年前我以完全相同的方式安装了 Django,使用相同的设置,并且运行良好。 那么有什么变化呢?为什么 pip 突然转移到了 dist-packages?

【问题讨论】:

  • 为什么 Django 应该在 dist-packages 中?根据定义,这是由发行版的包管理器安装的东西。 pip 安装的任何东西都在 site-packages 中。
  • 我知道,这就是为什么我对此感到困惑。
  • 我遇到了this question,这可以解释为什么 pip 将包安装到 dist-packages 中。

标签: python django pip yum


【解决方案1】:

有时PYTHON_INSTALL_LAYOUT="amzn" 被设置在一个外壳中,然后令人讨厌的东西进入dist-packages

要消除这种烦恼, unset PYTHON_INSTALL_LAYOUT

【讨论】:

    猜你喜欢
    • 2021-02-04
    • 2012-12-03
    • 2016-08-19
    • 1970-01-01
    • 2020-06-04
    • 1970-01-01
    • 1970-01-01
    • 2019-02-05
    • 2012-03-12
    相关资源
    最近更新 更多