3
  1. 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()
  1. 使用子进程从 Django 访问,未找到错误...

   views.py include...

    def datatest(request):<br>
       subprocess.call(['python', 'dbtest3.py'])<br>
       return HttpResponse('Call python...')

错误信息;

     ModuleNotFoundError: No module named 'pymysql'

我错过了什么?还是有其他方法?谢谢你。

4

2 回答 2

0

如果您使用的是虚拟环境,则取决于您运行脚本'python'的方式,可能会参考系统 Python。使用sys.executable而不是'python'可能会有所帮助。

请注意,如果您使用的是 WSGI,sys.executable则可能未正确设置,因此您可能希望在 WSGI 入口点脚本中显式设置它。

于 2020-02-02T03:45:41.000 回答
0

视图.py

def datatest(request):
subprocess.call([sys.executable, "-c", "import dbtest2"])
return HttpResponse('Call python...')

于 2020-02-03T14:17:06.207 回答