我试图安装skytools以便将数据库迁移到AmazonRDS,但是我得到了一个

2024-06-25 23:30:22 发布

您现在位置:Python中文网/ 问答频道 /正文

安装详细信息: 1x EC2运行Ubuntu 14.04和Postgres 9.3, 1x RDS运行Postgres 9.3

我正在尝试将我在EC2上的postgres数据库移动到RDS上。我正在使用Londiste,它是recommended by AWS,用于以最少的停机时间迁移数据库。具体来说,我使用的是Londiste/Skytools 2.1.13,因为Londiste3需要两个系统的超级用户权限。在

我尝试过通过他们网站的zip和apt-get安装Skytools(都是2.1.13)。我已经安装了我认为所有的依赖项:postgres、libpq dev、postgresql-server-dev-9.3、pip和psycopg2。在

不管怎样,每当我尝试使用任何skytools命令时,都会出现以下错误:

Traceback (most recent call last):
File "/usr/local/bin/pgqadm.py", line 9, in from pgq.ticker import SmartTicker File "/usr/local/lib/python2.7/dist-packages/pgq/init.py", line 6, in

import pgq.consumer File "/usr/local/lib/python2.7/dist-packages/pgq/consumer.py", line 6, in from pgq.baseconsumer import BaseConsumer, BaseBatchWalker File "/usr/local/lib/python2.7/dist-packages/pgq/baseconsumer.py", line 75,

in class BaseConsumer(skytools.DBScript): File "/usr/local/lib/python2.7/dist-packages/skytools/apipkg.py", line 114,

in __makeattr result = importobj(modpath, attrname) File "/usr/local/lib/python2.7/dist-packages/skytools/apipkg.py", line 37,

in importobj module = import(modpath, None, None, ['doc']) File "/usr/local/lib/python2.7/dist-packages/skytools/scripting.py", line 23,

in default_skylog = skytools.installer_config.skylog

AttributeError: 'module' object has no attribute 'skylog'

我失去了一个依赖吗?(Skylog似乎是skytools的一部分,所以我得出结论不是这样的。)还有其他人讨论过这个问题吗?(似乎没有任何谷歌搜索结果有这个错误。)谢谢!在


Tags: inpyimportlibpackagesusrlocaldist
1条回答
网友
1楼 · 发布于 2024-06-25 23:30:22
太长了,读不下去了。

确保您正在运行位于本地skytools-2.x.y安装目录中的pgqadm.py,例如:./python/pgqadm.py ticker.ini install

如果您以前安装过Skytools 3.x,这可能是一个问题,它可能首先出现在您的PATH中。在

背景

我也遇到了同样的问题。我有相同的用例(迁移pg->;rds),并遵循了来自AWS documentation的相同建议。在

我最初安装了skytools3.x,后来才发现它需要超级用户权限。which pgqadm.py返回/usr/bin/pgqadm.py,这是我放弃的skytools3.x安装的一个工件。在

当我去Skytools源代码库寻找skylog的实例时,我开始怀疑版本冲突。第一个结果是: https://github.com/pgq/skytools-legacy/blob/11afc5210a92d4a2ccf701e4f92138488c31a3cb/python/skytools/installer_config.py.in

但是,我意识到这个存储库正在跟踪最新的3.x版本。我切换到了明显的2.1.x分支,skylog找不到了,正如预期的那样:

https://github.com/pgq/skytools-legacy/blob/skytools_2_1_stable/python/skytools/installer_config.py.in

完全限定pgqadm.py的路径可以解决此问题。在

相关问题 更多 >