为什么可以';t subprocess.Popen在使用此python库时是否查找mysqldump?
使用此库时,我遇到一个错误,它无法找到为什么可以';t subprocess.Popen在使用此python库时是否查找mysqldump?,python,python-3.x,subprocess,Python,Python 3.x,Subprocess,使用此库时,我遇到一个错误,它无法找到mysqldump,即使它在我的路径中 edwin$ database-sanitizer mysql://root@localhost/test Traceback (most recent call last): File "/Users/edwin/code/test/venv/bin/database-sanitizer", line 11, in <module> sys.exit(main()) File "/User
mysqldump
,即使它在我的路径中
edwin$ database-sanitizer mysql://root@localhost/test
Traceback (most recent call last):
File "/Users/edwin/code/test/venv/bin/database-sanitizer", line 11, in <module>
sys.exit(main())
File "/Users/edwin/code/test/venv/lib/python3.6/site-packages/database_sanitizer/__main__.py", line 60, in main
config=config,
File "/Users/edwin/code/test/venv/lib/python3.6/site-packages/database_sanitizer/dump/__init__.py", line 46, in run
for line in db_module.sanitize(url=parsed_url, config=config):
File "/Users/edwin/code/test/venv/lib/python3.6/site-packages/database_sanitizer/dump/mysql.py", line 68, in sanitize
stdout=subprocess.PIPE,
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/subprocess.py", line 729, in __init__
restore_signals, start_new_session)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/subprocess.py", line 1364, in _execute_child
raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: 'mysqldump': 'mysqldump'
edwin$数据库消毒器mysql://root@本地主机/测试
回溯(最近一次呼叫最后一次):
文件“/Users/edwin/code/test/venv/bin/database sanitizer”,第11行,在
sys.exit(main())
文件“/Users/edwin/code/test/venv/lib/python3.6/site packages/database_sanitizer/_main__.py”,第60行,在main中
config=config,
文件“/Users/edwin/code/test/venv/lib/python3.6/site packages/database_sanitizer/dump/_init__.py”,第46行,运行中
对于db_module.sanitize(url=parsed_url,config=config)中的行:
文件“/Users/edwin/code/test/venv/lib/python3.6/site packages/database_sanitizer/dump/mysql.py”,第68行,在sanitize中
stdout=子流程.PIPE,
文件“/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/subprocess.py”,第729行,在__
恢复信号,启动新会话)
文件“/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/subprocess.py”,第1364行,在执行子进程中
引发子项异常类型(错误号、错误消息、错误文件名)
FileNotFoundError:[Errno 2]没有这样的文件或目录:“mysqldump”:“mysqldump”
我还尝试了python解释器,没有出现错误
>>> import subprocess
>>> subprocess.Popen('mysqldump')
<subprocess.Popen object at 0x1081e2b38>
>>> Usage: mysqldump [OPTIONS] database [tables]
OR mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]
OR mysqldump [OPTIONS] --all-databases [OPTIONS]
For more options, use mysqldump --help
导入子流程
>>>subprocess.Popen('mysqldump')
>>>用法:mysqldump[OPTIONS]数据库[tables]
或者mysqldump[OPTIONS]--databases[OPTIONS]DB1[db2db3…]
或mysqldump[OPTIONS]--所有数据库[OPTIONS]
有关更多选项,请使用mysqldump--help
我使用的是OSX。我们要求重现问题所需的一切都包含在问题本身中;链接背后的代码不是“问题本身”。在这种情况下,这意味着从第三方工具中提取最短的代码,可以通过测试来重新创建问题。请参阅帮助中心中的指南。我们要求重现问题所需的一切都包含在问题本身中;链接背后的代码不是“问题本身”。在这种情况下,这意味着从第三方工具中提取最短的代码,可以通过测试来重新创建问题。请参阅帮助中心中的指南。