2016-12-17 13 views
0

ミニコンダがインストールされていて、さまざまなバージョンのPythonが異なる環境で動作しています。私はtemperature.pyファイルを作成し、私のルートディレクトリにパイソンと呼ばれるフォルダに保存されてきました:/ユーザー/名ImportError:端末から温度という名前のモジュールがありません

私は端末にのpythonを入力し、輸入temperature.pyを実行すると、

はImportError:端末から私はこのエラーを取得していない「温度」という名前のモジュールを

私はtemperature.pyファイルを保存している必要があります

+0

temperature.pyがあるterminalから/ Users/nameディレクトリを参照し、pythonを実行してPythonインタプリタを初期化します。次に、以下を実行します: 'import temperature' – hemraj

答えて

1

最初の場所のPythonのルックスインポートするモジュールが作業ディレクトリです(つまり、 Pythonにスクリプトを渡した場合のディレクトリ)、またはスクリプトなしでPythonを起動したばかりの場合は、Pythonを開いたときのディレクトリです。 PYTHONPATH変数が見つからない場合は、PYTHONPATH変数が使用され、見つからない場合は、Pythonのインストールで指定されたパスが使用されます。

sys.pathで、実際に見ているパスを調べることができます。

import sys 
print(sys.path) 

そして、あなたがする必要がある場合は、あなたもsys.pathを変更することができます。それは場所のインポートが最初になりますですとして先頭に追加します。

import sys 
sys.path.insert(0, <path_of_temperature.py>) 

ソースhttps://docs.python.org/3/tutorial/modules.html

6.1.2。モジュール検索パス

spamという名前のモジュールがインポートされると、インタープリタは最初にその名前の組み込みモジュールを検索します。見つからなければ、変数sys.pathによって指定されたディレクトリのリスト内のspam.pyという名前のファイルを検索します。 sys.pathは、これらの場所から初期化されます:

  1. 入力スクリプト(またはファイルが指定されていない現在のディレクトリ )を含むディレクトリ。
  2. PYTHONPATH(ディレクトリ名のリスト。シェル変数PATHと同じ構文です)。
  3. インストールに依存するデフォルトです。
1

temperature.pyを現在の作業ディレクトリにコピー/移動します。

あなたはPythonのプロンプトからこのディレクトリを見つけることができます。

>>> import os 
>>> os.getcwd() 
0

temperature.pyファイルは、Pythonで検索可能にする必要があります。 Pythonはsys.pathにインポート可能なパッケージを探します。

>>> import sys 
>>> print(sys.path) 
['', ...] 

あなたがいずれかを実行できます。

(1)sys.path上にあるディレクトリにtemperature.pyファイルを追加します(最初の項目は、現在の作業ディレクトリので、空の文字列です常に動作します)。

(2)動的に(3)PYTHONPATH環境変数にディレクトリを追加します

import sys 
    sys.path.insert(0, path-to-directory-containing-temperature.py) 

(それが前面に追加するのが通例です)ディレクトリを追加します。

(4)(あなたはそれに取り組んでいる場合は、開発モードで)パッケージを作成し、それをインストールします。

(dev) go|c:\srv\tmp\temp> cat temperature.py 
def get_temp(): 
    print 42 

非常に最小限のsetup.pyファイルを追加:

(dev) go|c:\srv\tmp\temp> cat setup.py 
from setuptools import setup 
setup(
    name='temp', 
    py_modules=['temperature'] 
) 

インストールをデベロッパーモードで

c:\srv\tmp\temp> python setup.py develop 
running develop 
running egg_info 
... 
Creating c:\python27\lib\site-packages\temp.egg-link (link to .) 
Adding temp 0.0.0 to easy-install.pth file 

Installed c:\srv\tmp\temp 
Processing dependencies for temp==0.0.0 
Finished processing dependencies for temp==0.0.0 

ここではどこからでもインポートできます。 irectory):

c:\> python 
Python 2.7.11 (v2.7.11:6d1b6a68f775, Dec 5 2015, 20:32:19) [MSC v.1500 32 bit (Intel)] on win32 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import temperature 
>>> temperature.get_temp() 
42 

あなただけ出始めている場合は、私が(1を選択します)または(3)、しばらくすると(4)の最良の選択肢となります。..

関連する問題