- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我使用 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/
我有一个脚本循环遍历几个文件路径,以便使用子进程执行一些其他 python 和 bash 脚本。 我知道这些脚本偶尔会失败,我想捕获异常并停止循环/退出调用脚本。这看起来应该很简单 - 但我很想让它发
我正在使用 subprocess 模块和 check_output() 在我的 Python 脚本中创建一个虚拟 shell,它适用于返回零退出状态的命令,然而,对于那些不这样做的,它会返回一个异常,
我希望有人可以帮助解决这个问题。我正在尝试以以下动画的形式从 Keras 中保存损失图。 但我一直面临以下错误,最终我无法保存动画: MovieWriter stderr: [h264_v4l2m2m
我已经通过 brew 安装了 Cmake 并查看了错误跟踪器和其他有这个问题的人,但我没有找到任何有我问题的人。这是输出中的错误: Linking CXX shared library /Users/
我一直在使用一个执行 bash 命令的简短 python 脚本。该程序运行了大约一个月,效果良好。最近,我尝试运行脚本并向其传递以下命令: my_launcher.py -c /path/to/con
我使用 python,我想创建一个数据库源 Controller ,如 liquibase 。我找到liquibase调用的python版本 pyquibase 但得到 subprocess.Call
我正在使用下面的代码获取 shell 命令的输出。 import subprocess exitcode, err, out = 0, None, None try: out = subpro
import subprocess cmd = "grep -r * | grep jquery" print cmd subprocess.check_output(cmd, shell=True)
继续 from my previous question我看到要获取我在 python 中通过 Popen 生成的进程的错误代码,我必须调用 wait() 或 communicate() (可用于访问
我正在使用 python 子进程模块中的 subprocess.check_output 来执行 ping 命令。这是我的做法: output = subprocess.check_output(["
我想在python(3)脚本中捕获shell命令的stdout流,同时能够检查shell命令的返回码是否返回一个错误(也就是说,如果它的返回码不是 0)。 subprocess.check_outpu
运行时出现以下错误 buildozer android debug deploy run (VirtualBox 上的 Ubuntu 64 14.04): Traceback (most recent
在asyncio模块中是否有一个与CalledProcessError类似的东西?来自 subprocess 模块的异常? 我本来希望有一个模拟,因为 asyncio 模块创建 TimeoutErro
>>> import subprocess >>> subprocess.check_output("smartctl -d ata -a /dev/sda", shell=True) "output
在运行 kivy 时,出现此错误。我已经安装了 ant。 subprocess.CalledProcessError: Command '['ant', 'debug']' returned non-
我正在尝试实现以下代码: import os os.environ.update({'MALLET_HOME':r'c:/mallet-2.0.8/'}) mallet_path = 'C:\\mal
当我在约 1600 万个文档的完整语料库上运行 Gensim LDAMallet 模型时,出现 CalledProcessError“非零退出状态 1”错误。有趣的是,如果我在包含约 160,000
以下是我们代码库中的代码片段 # global library function def check_call_noout(params, acceptable_exit_codes = (0,),
我想调用一个子进程来备份mysql数据库。在终端中运行良好的命令行(并创建了一个名为 mydatabase.sql 的文件)是: mysqldump -uroot -ppassword --a
这个问题已经有答案了: Subprocess check_output returned non-zero exit status 1 (2 个回答) 已关闭 5 年前。 我需要计算 python 脚
我是一名优秀的程序员,十分优秀!