問題タブ [pydantic]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
218 参照

python - Python が異なるバージョンから異なるライブラリをインポートする

Python スクリプトを開発しようとしていますが、含めたい 2 つのライブラリの間で競合が発生しているようです。

私が持っている最初の依存関係は pymoos ( https://github.com/msis/python-moos ) です。これは、私の通信アーキテクチャに接続するために必要です。コードをビルドし、結果の pymoos.so を次の場所に手動でインストールしました。

  • /usr/lib/python3.6/site-packages/pymoos.so
  • /usr/lib64/python2.7/lib-dynload/pymoos.so
  • /usr/lib64/python3.6/lib-dynload/pymoos.so
  • /usr/local/lib/python3.7/lib-dynload/pymoos.so

ただし、インタプリタから「pymoos をインポート」できるのは python2.7 だけです。Python3 バージョンのいずれかから試行すると、次のようになります。

2 番目の依存関係は pydantic です。これは、pip3 を使用してのみインストールできました。これは、インストールした Python3 のいずれかのバージョンからのみ利用できることを意味します。Python2 からインポートしようとすると、次のようになります。

私は pymoos.so ライブラリがどこにあるかを知っているので、それを適切な場所に配置して python3 で動作するようにするのが私の最も簡単な方法だと思いますが、適切な場所を見つけることができないようです!

0 投票する
0 に答える
1003 参照

python - Cerberus は検証に非常に時間がかかります。何が間違っていますか?

(免責事項:私が読んだstackoverflowのすべてのパフォーマンス比較は、包括的/正確/適切に書かれていない/関連性がないなどの理由で非難されます.-これが実際の比較または完全にセットアップされているふりをしているわけではありません。 cerberus にデータをより迅速に検証させることができます。)

cerberusを使用した次のモデル設定があります。

これはデータの検証に使用されており、データの約 50% が通過しdo_validationます。

問題は、この検証を行うときに cerberus が非常に遅く、各検証に平均で 1 ミリ秒以上かかることです。比較すると、これは他のライブラリよりも 10 倍以上遅く、pydantic私がベンチマークしたライブラリよりも 26 倍遅いです。

cerberus がもう少し遅かったとしても驚かないでしょうが、この差は極端すぎて意味がないように思えます。

パフォーマンスを大幅に損なう何か間違ったことをしていますか?


上記のコードは、pydantic のドキュメントのベンチマーク セクション用に作成されました。

cerberus を追加する PR は、(現在)ここで完全なコードと結果とともに公開されています。