我需要从 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 中的路径有关,但我不明白为什么无法从 django 应用程序中找到 mysqldump,但它可以从命令行/虚拟环境
最佳答案
确保 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
和/或
using mysqldump and mysql inside python
import subprocess
subprocess.Popen('mysqldump -h localhost -P 3306 -u -root appdb > appdb.sql', shell=True)
或者在Python语句中使用完整路径。例如/usr/bin/mysqldump
关于python - 来自 python 脚本内的 mysqldump 但未找到命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41090768/