2011-10-18 17 views
0

Obj-Cで組み込みのPythonインタプリタを実行しています。私はPythonスクリプトをうまく実行できますが、特定の標準モジュールをインポートしようとすると、たとえば、ImportError: No module named randomが得られます。組み込みPythonで特定のモジュールをインポートできません

しかし、他の特定のモジュールをインポートできます。私の研究は、これまで私は、このリストを与えている:

ことができます。

  • 輸入SYS
  • 輸入数学
  • インポート日時
  • インポート時

することはできません。

  • 輸入ランダム
  • 輸入輸入cmath
  • インポート番号
  • 輸入列

これはPyImport_Import( 'package.module' を介してインポートされたパッケージに封入されたPythonファイル、からです)。 Py_InitModuleを介してロードされた拡張モジュールが1つあります。

これはPython 2.7.0上にあります - これらのモジュールのいくつかが利用可能な理由はありますか?

+1

おそらく、これらのモジュールだけではない持っています実行中のポートに含まれていますか?一見すると、これらのモジュールには、移植されていない可能性のあるコンパイル済みのコンポーネントが必要です(確かに再インストールされます)。 –

+0

。私はPython標準ライブラリ(/ pylibの面白いファイル...)を含めていなかったことがわかります。今はランダムに走っていますが、ロードはos.pyで壊れます。しかしそれはもう一つの質問です! –

+1

あなたはobj-cで実行されている組み込みのPythonインタプリタの入手方法を共有することができます。 – BarrettJ

答えて

0

トーマスKは、問題が完全に反対であっても、正しい軌道に乗ってくれました。

私のPythonセットアップには標準のPythonライブラリがありませんでした - Pythonで書かれた部分(通常は/ Library、/ Lib、または/ pylibを通して配布されています。

ので、インポート可能な非インポート可能なモジュール上の間のリンクは、非インポート可能な純粋なPythonで書かれているのに対し、インポート可能なは、CでのPythonの拡張として書かれていたことだった。

関連する問題