从 django 子进程调用 python,mysql not found 错误
Posted
技术标签:
【中文标题】从 django 子进程调用 python,mysql not found 错误【英文标题】:Calling python from django subprocess, mysql not found error 【发布时间】:2020-05-17 21:25:46 【问题描述】:-
python dbtest1.py ==> 工作正常
dbtest1.py :<br>
import pymysql.connector<br>
dbCon = pymysql.connector.connect(host='...', database='...', user='...', password='...')<br>
cursor = dbCon.cursor()<br>
cursor.execute("INSERT INTO cm_person (name) VALUES ('고길송')")<br>
dbCon.commit()
-
使用子进程从 Django 访问,未找到错误...
views.py include...
def datatest(request):<br>
subprocess.call(['python', 'dbtest3.py'])<br>
return HttpResponse('Call python...')
错误信息;
ModuleNotFoundError: No module named 'pymysql'
我错过了什么吗?还是有其他方法? 谢谢。
【问题讨论】:
subprocess.call(['python', 'dbtest1.py']) 【参考方案1】:如果您使用的是虚拟环境,则取决于您运行脚本的方式,'python'
可能指的是系统 Python。使用 sys.executable
而不是 'python'
可能会有所帮助。
请注意,如果您使用的是 WSGI,sys.executable
可能未正确设置,因此您可能需要在 WSGI 入口点脚本中显式设置它。
【讨论】:
【参考方案2】:views.py
定义数据测试(请求): subprocess.call([sys.executable, "-c", "import dbtest2"]) return HttpResponse('调用 python...')
【讨论】:
以上是关于从 django 子进程调用 python,mysql not found 错误的主要内容,如果未能解决你的问题,请参考以下文章
OSError: [Errno 2] 在 Django 中使用 python 子进程时没有这样的文件或目录
OSError:[Errno 2]在Django中使用python子进程时没有这样的文件或目录
如何从python子进程调用LC_ALL = C排序[重复]