私はMac(OS X 10.13.1を実行中)にHomebrew-installed Pythonをインストールしています。通訳者が起きるのに慌てて長い時間を要することに気づいた。この問題を解決しようとするアウト設定でPythonインタプリタが起動するまでに12秒かかります。すべてが `import pyexpat`で使われます
は、私はtime
で簡単なチェックをした:12秒:問題のegregiousnessを明らかにした
PIPER-ALPHA:~$ time bpython -c 'pass'
real 0m12.141s
user 0m1.662s
sys 0m10.073s
...!
それから、gnomon
- extremely handy npm
moduleを使用して、CLIツールのタイミングを箇条書きすることで問題の原因となっているPythonモジュールを特定しました。私は、このコマンドを使用:
PIPER-ALPHA:~$ PYTHONVERBOSE=1 bpython -c 'pass' 2>&1 | tee -a /tmp/bpython-startup-messages | gnomon
... gnomon
出力は冗長なPythonインタプリタの出力によって発行された各ラインにかかる時間を示しています。それは次のようになります。
...私は実行することはほぼ12秒にを取った出力のラインを強調している - これまでで最長のを、一つ一つの他のラインは、典型的には数ナノ秒を要した、またはでとおそらく数μ秒です。
通常、私は気高いPython拡張モジュールに遭遇した場合、自分でそれを再コンパイルしたり、ソースから微調整したりして、必要に応じて適切に問題を解決します。しかし、この場合、私はより大きなPython標準ライブラリモジュールの一部であるc-extensionモジュールを扱っています。これらのモジュールはすべてHomebrewバイナリパッケージ(Homebrew argotの "bottle"と呼ばれています)に同梱されていますこのバージョンのPython
他に誰かが証明できる問題ですか?特に、同様の状況下でPythonを実行しているときに他の誰かが見る問題ですか?そして、最も重要なことは、どうすれば修正できるのでしょうか? Homebrewを使用するか、使用しないでPythonインストール全体を再構築する必要がありますか?