gpt4 book ai didi

python - pyquibase错误: subprocess. CalledProcessError

转载 作者:行者123 更新时间:2023-12-01 08:18:59 25 4
gpt4 key购买 nike

我使用 python,我想创建一个数据库源 Controller ,如 liquibase 。我找到liquibase调用的python版本 pyquibase 但得到 subprocess.CalledProcessError

这是我的简单代码:

from pyquibase.pyquibase import Pyquibase

if __name__ == '__main__':
pyquibase = Pyquibase.sqlite('test.sqlite', 'db-changelog-1.xml')
pyquibase.update()

我得到了这些错误:

Traceback (most recent call last):
File "/home/ali/dev/project/python/DatabaseSourceContoller/DatabaseSourceContoller/main.py", line 5, in <module>
pyquibase.update()
File "/home/ali/dev/project/python/DatabaseSourceContoller/venv/lib/python3.5/site-packages/pyquibase/pyquibase.py", line 69, in update
output = self.liquibase.execute(self.change_log_file, "update")
File "/home/ali/dev/project/python/DatabaseSourceContoller/venv/lib/python3.5/site-packages/pyquibase/liquibase_executor.py", line 103, in execute
shell = True
File "/usr/lib/python3.5/subprocess.py", line 316, in check_output
**kwargs).stdout
File "/usr/lib/python3.5/subprocess.py", line 398, in run
output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command 'java -jar /home/ali/dev/project/python/DatabaseSourceContoller/venv/lib/python3.5/site-packages/pyquibase/liquibase/liquibase.jar --driver=org.sqlite.JDBC --classpath=/home/ali/dev/project/python/DatabaseSourceContoller/venv/lib/python3.5/site-packages/pyquibase/db-connectors/sqlite-jdbc-3.18.0.jar --changeLogFile=db-changelog-1.xml --url="jdbc:sqlite:test.sqlite" update' returned non-zero exit status 255

最佳答案

pyquibase派生一个子进程来执行 liquibase 变更日志更新。还有subprocess.CalledProcessError意味着 liquibase 变更日志更新失败。

现在,为了找出失败的原因,您可以手动运行 liquibase 命令来查看实际的错误消息:

java -jar /home/ali/dev/project/python/DatabaseSourceContoller/venv/lib/python3.5/site-packages/pyquibase/liquibase/liquibase.jar --driver=org.sqlite.JDBC --classpath=/home/ali/dev/project/python/DatabaseSourceContoller/venv/lib/python3.5/site-packages/pyquibase/db-connectors/sqlite-jdbc-3.18.0.jar --changeLogFile=db-changelog-1.xml --url="jdbc:sqlite:test.sqlite" update

pyquibase尚未为您打印实际的错误消息。下一个版本升级应该有这个功能。

关于python - pyquibase错误: subprocess. CalledProcessError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54801974/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com