2016-03-22 6 views
0

Pymongo has some optional C extensions。 pipが実行されたときに依存関係が利用可能な場合、それらはインストールされます。そうでなければpipパッケージがC拡張でビルドされているかどうかを確認するにはどうすればよいですか?

実際には、特定のpipパッケージのC拡張がシステムレベルか特定のvirtualenvのどちらに存在するかをどのように伝えますか?

pymongoは私の現在の関心事ですが、任意のパッケージにメソッドが存在すればうれしいです。

+0

Pythonスクリプトをインポートしようとすると、失敗するとエラーコード「1」、成功した場合はエラーコード「0」で存在しますか?仮想環境をテストするためにvirtualenvインタプリタで実行するか、システムレベルのインポートをテストするためにシステムインタプリタを実行します。あるいは、 'python -c 'のような1行を実行することもできます。foob" 2>/dev/null' – Claudiu

答えて

0

は、よりエレガントな解決策があるかもしれませんが、ファイルがピップであなたのマシン上に配置されている場合は、最初に見つけることができます:

[email protected]:~$ pip show pymongo 
--- 
Metadata-Version: 2.0 
Name: pymongo 
Version: 3.2.2 
Summary: Python driver for MongoDB <http://www.mongodb.org> 
Home-page: http://github.com/mongodb/mongo-python-driver 
Author: Bernie Hackett 
Author-email: [email protected] 
Installer: pip 
License: Apache License, Version 2.0 
Location: /opt/miniconda2/lib/python2.7/site-packages 
Requires: 
Classifiers: 
.... 

あなたはその後、specifedディレクトリに移動し、任意のコンパイルがあるかどうかを確認することができます図書館:

[email protected]:~$ cd /opt/miniconda2/lib/python2.7/site-packages/pymongo 
[email protected]:/opt/miniconda2/lib/python2.7/site-packages/pymongo$ ls 
auth.py    database.py     monitoring.pyc   response.py    ssl_context.pyc 
auth.pyc   database.pyc     monitor.py    response.pyc   ssl_match_hostname.py 
bulk.py    errors.py      monitor.pyc   results.py    ssl_match_hostname.pyc 
bulk.pyc   errors.pyc     monotonic.py   results.pyc    ssl_support.py 
client_options.py helpers.py     monotonic.pyc   server_description.py ssl_support.pyc 
client_options.pyc helpers.pyc     network.py    server_description.pyc thread_util.py 
_cmessage.so  __init__.py     network.pyc   server.py    thread_util.pyc 
collection.py  __init__.pyc     operations.py   server.pyc    topology_description.py 
collection.pyc  ismaster.py     operations.pyc   server_selectors.py  topology_description.pyc 
command_cursor.py ismaster.pyc     periodic_executor.py server_selectors.pyc topology.py 
command_cursor.pyc message.py     periodic_executor.pyc server_type.py   topology.pyc 
common.py   message.pyc     pool.py    server_type.pyc   uri_parser.py 
common.pyc   mongo_client.py    pool.pyc    settings.py    uri_parser.pyc 
cursor_manager.py mongo_client.pyc    read_concern.py  settings.pyc   write_concern.py 
cursor_manager.pyc mongo_replica_set_client.py read_concern.pyc  son_manipulator.py  write_concern.pyc 
cursor.py   mongo_replica_set_client.pyc read_preferences.py son_manipulator.pyc 
cursor.pyc   monitoring.py     read_preferences.pyc ssl_context.py 

あなたがコンパイルされたライブラリが表示された場合 - この場合には、それは_cmessage.soですので、これは、Linuxボックスですが、異なるプラットフォームは異なる規則を持っている - そして、チャンスはそれが、少なくともSOM againsコンパイルされたことがありますCエクステンションの

関連する問題