我正在从我的NodeJs服务器代码“生成”一个python脚本,使用
var spawn = require('child_process').spawn;
var python_process = spawn('python', ['server/matcher/matcher.py'])
我的python代码应该处理从MongoDB集合中获取的一些数据,因此我需要访问我的数据库。我已经安装了pymongo和dnspython,我确信这一点,因为每当我为其中任何一个运行installation命令时,我都会得到一个
已满足要求:dnspython in/library/frameworks/python.framework/versions/3.9/lib/python3.9/site-packages(1.16.0)
但是,每当我尝试运行代码时,我都会收到错误
Pymongo.errors.ConfigurationError:必须安装“DNSpython”模块才能使用MongoDB+SRV://URI
我像平常一样访问数据库,并按照文档中的指示进行访问
from pymongo import MongoClient
client = MongoClient(<connection string>)
db = client.<db name>
users = db.users.find({})
我意识到这是一个环境问题,因为当我在PyCharm中运行Mongo时,相同的代码正确运行并成功连接到Mongo,但我不确定如何使它在NodeJs子进程中工作。
尝试:
` sudo pip install --upgrade pip` or `python -m pip install --upgrade pip`
在您的命令行上。
然后重试安装dnspython