我正在创建一个本地的Label Studio服务器来托管我们办公室中要注解的图像。我希望数据库后端是postgresql,而不是sqlite,并且位于特定的目录中,而不是默认的,也不是与“data-dir”相同。我有一个测试服务器在网络上工作,服务器上有各种机器注解图像,但后端是sqlite用于此测试。
由于各种原因,我尝试获取postgresql后端数据库的所有操作都失败了。有些命令导致一个sqlite数据库(偶尔名称为“postgresql”)位于我所需的目录中;其他命令创建postgres/pyscopg 2错误,但我认为它们是在花园路径上。
主机运行的是Ubuntu 20.04 LTS。并使用其他API通过网络提供另一个postgresql数据库。运行的Postgresql版本为12.9。
我已经创建了一个conda环境和pip安装标签工作室作为文件的建议。
以下是我尝试过的方法:
启动conda环境。按照https://labelstud.io/guide/storedata.html#PostgreSQL-database上的说明分配环境变量,在撰写本文时,该环境变量为:
DJANGO_DB=default
POSTGRE_NAME=postgres
POSTGRE_USER=postgres
POSTGRE_PASSWORD=
POSTGRE_PORT=5432
POSTGRE_HOST=db
字符串
然后是start命令的一些变化(我没有包括反斜杠,只是为了可读性/可比性而放在这里):
label-studio start --init \
-db postgresql \
--database /path/to/label-studio/databases/newdb \
--data-dir /path/to/label-studio/media_dirs/test_proj
型
result:db在预期的位置,但是:
file newdb
型
给出“newdb:SQLite 3.x数据库,最后使用SQLite版本3038002编写”
label-studio start --init \
--database /path/to/label-studio/databases/newdb \
-db postgresql \
--data-dir /path/to/label-studio/media_dirs/test_proj
型
结果:一个位于指定路径的名为“postgresql”的数据库,但仍然是一个sqlite数据库。这似乎反映了https://github.com/heartexlabs/label-studio/issues/1660中提到的错误。
我还尝试了上面两个命令,省略了'--init'参数,结果相同。
然后,我尝试在上面同一个链接中建议的命令前面添加一些东西:
DJANGO_DB=default label-studio start \
--database /path/to/label-studio/databases/newdb \
--data-dir /path/to/label-studio/media_dirs/test_proj
型
结果:psycopg2.OperationalError:FATAL:用户“postgres”的密码验证失败FATAL:用户“postgres”的密码验证失败
DJANGO_DB=default POSTGRE_PASSWORD= label-studio start \
--database /path/to/label-studio/databases/newdb \
--data-dir /path/to/label-studio/media_dirs/test_proj
型
结果:psycopg2.OperationalError:fe_sendauth:未提供密码
任何帮助和解决方案将不胜感激。
另外,我不能用“标签工作室”来标记这个,因为我还没有达到创建新标签所需的声誉,所以如果有人想这样做,请谢谢!
1条答案
按热度按时间p3rjfoxz1#
你的最后一个选项比其他所有选项都更接近。你有没有试过用这个来运行LS:
字符串
当然,你必须自己运行postgres服务,正确配置它,创建数据库
<postgres_name>
,用户<postgres_user>
并设置密码<password>
,授予此用户访问权限。另外不要忘记指定<db_host>
(localhost
?),<db_port>
(5432
?)