web-dev-qa-db-ja.com

インポートエラー:bsonというモジュールはありません

環境ファイルにjson_utilをインポートしようとしています:

from bson import json_util

次のインポートエラーが表示されます:no module named bson

Pymongoとbsonをpipでインストールしてアンインストールしようとしましたが、何も役に立たないようです。 bsonパッケージがpymongoに含まれていることがわかったので、明示的にインストールしてからEpoch_AWAREインポートエラーを受け取りました。

現在、pymongoのみがインストールされています。この行を使用して仮想環境を強制すると動作します:

#subprocess.Popen(['/home/.virtualenvs/simple_worker/bin/python', fileName])

しかし、私はこのようなOSを介してそれを実行しようとすると:

os.system('PYTHON_ENV=%s python %s' % (env, fileName))

Bsonでこのインポートエラーが発生します。

編集:ここにピップリストの出力があります

(simple_worker) ➜ worker  pip list                                                                                         ✭ ✱
Apache-libcloud (0.17.0)
backports.ssl-match-hostname (3.4.0.2)
gnureadline (6.3.3)
google-api-python-client (1.3.1)
httplib2 (0.9.2)
ipdb (0.8)
ipython (2.3.1)
mock (1.0.1)
oauth2client (1.5.1)
pbr (0.10.7)
pika (0.9.14)
pip (8.0.2)
psutil (2.2.0)
py (1.4.26)
pyaml (15.2.1)
pyasn1 (0.1.7)
pyasn1-modules (0.0.5)
pymongo (3.2.1)
pytest (2.6.4)
pytest-mock (0.4.0)
pytz (2015.4)
PyYAML (3.11)
redis (2.10.3)
requests (2.8.0)
rsa (3.1.4)
setuptools (11.0)
simplejson (3.6.5)
six (1.9.0)
stevedore (1.2.0)
uritemplate (0.6)
urllib3 (1.10)
virtualenv (12.0.7)
virtualenv-clone (0.2.5)
virtualenvwrapper (4.3.2)

何か案は?

13
Liad Amsalem

do n'tを取得する場合no module named bsonエラーですが、Epoch_AWAREインポートエラー。これは、bsonとpymongoの名前の衝突が原因です。この場合、これらを順番に実行する必要があります。

Sudo pip uninstall bson
Sudo pip uninstall pymongo
Sudo pip install pymongo

bsonを再度インストールする必要はありません

22
kommradHomer

端末で試してください:

Sudo apt-get purge python-bson
Sudo apt-get install python-bson

よろしく

1
A STEFANI