2

我正在尝试在运行 Ubuntu 18.04 LTS 的 AWS EC2 实例上设置 PyBOSSA。我按照官方的说明,到目前为止遇到了三个错误。

  1. sudo apt-get install -y git postgresql postgresql-all postgresql-server-dev-all libpq-dev python-psycopg2 libsasl2-dev libldap2-dev libssl-dev python-virtualenv python-dev build-essential libjpeg-dev libssl-dev libffi -dev dbus libdbus-1-dev libdbus-glib-1-dev libldap2-dev libsasl2-dev python-pip python3-pip redis-server
  2. 光盘~
  3. git clone --recursive https://github.com/Scifabric/pybossa
  4. cd pybossa
  5. virtualenv -p python3 env(我明确使用 Python3,因为我的系统也安装了 Python 2.7)。
  6. 源环境/bin/激活
  7. 点安装 -U 点
  8. pip install -r ~/pybossa/requirements.txt

此时,我开始收到错误消息...我已将 stdout 和 stderr 复制到一个文件中,该文件已在此处上传

我不确定这些错误是否是导致我后来的错误的原因,但无论如何我还是按照说明进行了操作,希望它能起作用......

  1. cp settings_local.py.tmpl settings_local.py
  2. cp alembic.ini.template alembic.ini
  3. redis-server contrib/sentinel.conf --sentinel

我注意到 Redis 服务器版本是 4.0.9(说明说它需要是 v2.6 或更高版本)。

启动 Redis 服务器的输出如下:

30284:X 30 Mar 03:09:22.004 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
30284:X 30 Mar 03:09:22.004 # Redis version=4.0.9, bits=64, commit=00000000, modified=0, pid=30284, just started
30284:X 30 Mar 03:09:22.004 # Configuration loaded

...我认为没关系...

  1. rqscheduler --host 127.0.0.1

我的系统上没有安装这个命令。我尝试使用 apt 安装它,但那里什么也没有。我也试过 apt install rq rqscheduler rq-scheduler - 什么也没找到。然后我用谷歌搜索并找到了 rq-scheduler 的网站,发现我可以通过运行来安装它pip install rq-scheduler

那安装正确。尽管如此,rqscheduler --host 127.0.0.1在终端中运行命令仍然失败:rqscheduler: command not found.

知道它是一个 Python 包,我想知道是否可能需要在命令开头添加 python3: python3 rqscheduler --host 127.0.0.1。回应:python3: can't open file 'rqscheduler': [Errno 2] No such file or directory

我也试过pip3 install rq-scheduler(安装得很好)然后运行命令,但遇到了同样的错误。

如果知道如何运行它,我将不胜感激,但出于本次测试的目的,我跳过了设置 Regis 和调度程序,并继续使用 PyBOSSA 说明:

  1. sudo su postgres
  2. createuser -d -P pybossa
  3. (密码设置)
  4. createdb pybossa -O pybossa
  5. 出口
  6. python3 cli.py db_create

...然后我得到了这个错误:

  File "cli.py", line 162
    '''SELECT id, created FROM task_run WHERE created LIKE ('\x%')''')
    ^
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 54-55: truncated \xXX escape

相反,我尝试python cli.py db_create了,以防万一它工作,并得到一个不同的错误:

python cli.py db_create
ValueError: invalid \x escape

所以我看到了三个不同的问题:

  1. 安装 PyBOSSA 所需的 Python 包。
  2. rqscheduler 命令的问题。
  3. 启动 PyBOSSA 服务器时的错误。

这些错误是什么意思?

4

2 回答 2

1

该问题现已针对主分支 ( https://github.com/Scifabric/pybossa/pull/1986 ) 修复。您可以获取新代码并使用它。

于 2020-06-06T16:04:49.383 回答
1

1)对于安装,试试这个:

virtualenv env 
source env/bin/activate
sudo apt install python3-pip
pip3 install -r requirements.txt

以没有错误结束。


2)尝试:

pip install rq-scheduler==0.9.1

或者

pip3 install rq-scheduler==0.9.1

3) \char 需要\\在 python 中转义(如 )。

因此,您可以从以下位置更改第cli.py162 行(使用文本编辑器):

 '''SELECT id, created FROM task_run WHERE created LIKE ('\x%')''')

至:

 '''SELECT id, created FROM task_run WHERE created LIKE ('\\x%')''')

但是最好由github上的dev修复...


结论

根据官方文档

python 3 的 PYBOSSA 我们终于将 PYBOSSA 迁移到了 python 3。在我们在生产中对其进行更多测试之前,我们不会合并到 master 中,所以请通过测试来帮助我们。您所要做的基本上就是检查 python3 分支 (migrate-python3) 并运行它。然后,您发现任何错误、问题,您只需报告它,我们将很乐意为您提供帮助。

PYBOSSA python3 版本是新迁移的,所以最终不是很稳定......我希望使用PYBOSSA python2.7 分支并完全按照文档进行操作会更好。

根据官方 github 帐户,他们试图通过支持赚钱(?...)

获得专业支持您可以聘请我们来帮助您处理 PYBOSSA 项目或服务器(特别是针对 python 2.7)。访问我们的网站,并与我们联系。

于 2020-04-17T18:11:06.490 回答