【问题标题】:How can I install Pootle using Git?如何使用 Git 安装 Pootle?
【发布时间】:2015-04-29 19:10:20
【问题描述】:

我正在使用 Ubuntu 14.04 并尝试安装 Pootle 的 2.7 版,有人告诉我应该使用 Git 而不是 pip,我认为这是因为这个版本不稳定,所以不t 有一个 pip 包/尚未设置为与 pip 一起使用。但是不熟悉 Python(而且我根本不是一个程序员)我在使用 manage.py 初始化数据库时遇到了麻烦。

到目前为止,我已将 master 分支签出到 /srv/www/pootle/project,并使用 pip/usr/local/lib/python2.7/dist-packages/django 中的 Django 升级到 1.7.7 版。 (见Pootle 2.7 requirements。)

我之前使用 pip 和 pootle setup 成功安装了 Pootle 2.5 版来初始化数据库,但是因为 Pootle 2.7 有 removed the pootle setup command,所以我一直在尝试使用 ./manage.py initdb 初始化数据库。结果是:

Traceback (most recent call last):
  File "./manage.py", line 20, in <module>
    cmd_log(*sys.argv)
  File "/srv/www/pootle/project/pootle/core/log.py", line 61, in cmd_log
    fn = settings.LOGGING.get('handlers').get('log_action').get('filename')
  File "/usr/local/lib/python2.7/dist-packages/django/conf/__init__.py", line 46, in __getattr__
    self._setup(name)
  File "/usr/local/lib/python2.7/dist-packages/django/conf/__init__.py", line 42, in _setup
    self._wrapped = Settings(settings_module)
  File "/usr/local/lib/python2.7/dist-packages/django/conf/__init__.py", line 115, in __init__
    raise ImproperlyConfigured("The SECRET_KEY setting must not be empty.")
django.core.exceptions.ImproperlyConfigured: The SECRET_KEY setting must not be empty.

我想这是因为正在使用 Django 设置,而不是我在 /srv/www/pootle/pootle.conf 的设置,它有我的密钥和其他配置。

我尝试将--settings=pootle 选项与manage.pydjango-admin.py 一起使用,在/usr/local/lib/python2.7/dist-packages/django//usr/local/lib/python2.7/dist-packages/django/conf/ 中使用一个名为pootle.settings 的符号链接导致我的pootle.conf,但仍然得到The SECRET_KEY setting must not be empty .

【问题讨论】:

    标签: python django python-2.7 pootle


    【解决方案1】:

    这里的区别在于,当您通过 pip 安装 Pootle 时,您可以使用 pootle 命令,该命令有一个 convenience runner 为您进行设置,包括自定义设置文件的路径。当你使用 git clone 时,便利魔法不可用。

    长话短说,您需要将POOTLE_SETTINGS 环境变量设置为自定义设置文件的路径。

    $ POOTLE_SETTINGS=/srv/www/pootle/pootle.conf python manage.py initdb
    

    或者,由于您正在尝试 git clone,您可以将设置文件重命名为 90-custom-settings-local.conf (90-很重要,以及 .conf 扩展名;-local 很方便,因为它位于 Pootle's .gitignore) 中,并将其放入 pootle/settings/,它会捡起来的。无需使用此方法设置POOTLE_SETTINGS env var。

    【讨论】:

    • 谢谢!我现在有File "/srv/www/pootle/project/pootle/checks.py", line 101, in check_redis &lt;br&gt; conn_settings = queue.connection.connection_pool.connection_kwargs &lt;br&gt; UnboundLocalError: local variable 'queue' referenced before assignment - 也许我需要配置一个 Redis 队列?我会尽快调查此事。顺便说一句,我发现我需要使用 ./manage.py 来执行它,但是如果不更改 6 个字符就无法编辑答案。
    • 回复。您遇到的错误,是的,您确实需要 Redis,但这里的根本问题是您尚未安装所有必需的依赖项,更准确地说是 django-rq。请使用pip install -r requirements/base.txt安装deps
    猜你喜欢
    • 2012-05-25
    • 1970-01-01
    • 2020-11-29
    • 1970-01-01
    • 2020-06-10
    • 1970-01-01
    • 1970-01-01
    • 2011-04-16
    • 1970-01-01
    相关资源
    最近更新 更多