小さな関数でEnthought EPD-Free 7.3-1を使用しています。私はインタラクティブセッション(PyLab)に切り取って実行すると、1秒以下で完了します。コマンドライン "python probtest.py
"から同じコードを実行すると、16秒以上かかる。Python対話型シェルはコマンドラインよりも16倍高速です - 何が問題なのですか?
私は両方が同じpython環境を使用していることを確認しました。多分関連しているかもしれませんが、.py
ファイルのディレクトリには、.pyc
というファイルはありません...私が最近行ったpythonスクリプトは、.pycファイルに関連付けられていません。私は "修復許可"(Mac OSX-Lion)を使用してフォルダの読み取り/書き込みのアクセス許可を確認し、EPD_Free Pythonをアンインストール/再インストールしましたが、運はありません。
私は何が原因か分からない。私が使用しているコード(サイコロのx個の簡単なテストは、少なくともYシックス探し):コマンドラインのpythonはそんなに遅い理由について
import numpy as np
import sys
def runTest(numDice, numSixes, numThrows = 10000):
nSuccess = 0
for i in range(numThrows):
dList = np.random.randint(1,7,numDice)
if sum(dList==6) >= numSixes:
nSuccess += 1
return float(nSuccess)/numThrows
print runTest(900,150,5000)
print sys.version
任意の考え?前もって感謝します。
ありがとう!それはまさに問題でした!本当にありがとう、あなたは私の正気を救った! –
心配はいりません。先週、私は怠け者であり、 'numpy import 'から組み込み' any'を 'numpy.any'に置き換えて、コード自体を見ることでデバッグするのがほとんど不可能なので、バグに苦労しなければなりませんでした。それは私の心の上にあった.. – DSM