繁体   English   中英

从python脚本中获取mysqldump但未找到命令

[英]mysqldump from within python script but command not found

我需要从Django函数中执行mysqldump。 我可以从终端命令行轻松地做到这一点,但是当我尝试从python脚本中运行它时,出现错误:

sh: mysqldump: command not found 

运行以下命令时。

filestamp = date.today()
dumpcmd = "mysqldump -u root appdb > appdb%s.out" % (filestamp)
os.system(dumpcmd)

我认为问题与django应用程序或Eclipse中的Path有关,但我无法弄清楚为什么无法从django应用程序中找到mysqldump,但可以从命令行/ virtualenv

确保mysqldump在您的路径中

$ whereis mysqldump; echo $PATH
mysqldump: /usr/bin/mysqldump /usr/share/man/man1/mysqldump.1.gz
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

和/或

在python内部使用mysqldump和mysql

import subprocess
subprocess.Popen('mysqldump -h localhost -P 3306 -u -root appdb > appdb.sql', shell=True)

或在Python语句中使用完整路径。 例如/usr/bin/mysqldump

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM