1

私は、bson の ObjectId を使用する (python 2.7) フラスコ mongoengine アプリケーションに取り組んでいます。プロジェクトには何らかの方法で bson が必要です。アプリケーションをデプロイしようとしているホストにルート アクセス権がなく、pip install bson が失敗します。

-bash-4.1$ pip install bson
Collecting bson
 Using cached bson-1.1.0.tar.gz
  Complete output from command python setup.py egg_info:
  Traceback (most recent call last):
   File "<string>", line 1, in <module>
   File "/tmp/pip-build-BBOawV/bson/setup.py", line 24, in <module>
    import bson
   File "bson/__init__.py", line 66, in <module>
    from . import codec
   File "bson/codec.py", line 28, in <module>
    from .objects import *
   File "bson/objects.py", line 36
    class BSONObject(object, metaclass=ABCMeta):
                                      ^
SyntaxError: invalid syntax

----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-BBOawV/bson/

一方、https://api.mongodb.org/python/current/installation.htmlは、このバージョンの bson を使用して pymongo の実装に依存するべきではないと述べています。ただし、pymongo-3.2.1 がインストールされているコンピューターでは、pymongo.objectId をインポートできません。

ありがとうございます!

4

3 に答える 3

2

同じ問題があり、PyMongo を再インストールすると BSON の依存関係が修正されました。

pip install --upgrade --force-reinstall pymongo
于 2016-07-14T08:29:43.820 に答える
0

同様の問題がありました。

https://pypi.python.org/pypi/bson/0.4.3から tarball をダウンロード して、手動でインストールします。

python setup.py install
于 2016-04-22T01:10:16.730 に答える
0

root アクセス権がなく、配布バージョンの bson をインストールできないため、DB ドキュメント定義にオブジェクトをドロップすることにしました。これもきれいなので、これで解決しますが、真実はMihaiが述べたとおりです。pip install bsonはpython3プロジェクトに限定されているようです。

于 2016-04-28T17:25:54.417 に答える