ImportError:Windowsではサイトという名前のモジュールはありません


101

初めてPythonをインストールしようとしています。PythonのWebサイトから次のインストーラーをダウンロードしました 。Python2.7.1 Windowsインストーラー(Windowsバイナリ-ソースは含まれません)。次に、インストーラーを実行し、「すべてのユーザー」を選択しましたが、すべて正常でした。Pythonをデフォルトの場所にインストールしました:

C:\Python27

次に、Pythonが正しくインストールされたことをテストするために、Pythonディレクトリに移動し、windows cmdプロンプトで「python」コマンドを実行しました。次のエラーが返されます。

ImportError:siteという名前のモジュールはありません

「python -v」を実行すると、次のようになります。

#installing zipimport hook
import zipimport # builtin
#installed zipimportフック
#ImportError: No module named site #clear 組み込み ._
#clear sys.path #clear sys.argv
#clear sys.ps1 #clear sys.ps2
#clear sys.exitfunc #clear sys.exc_type
#clear sys.exc_value #clear sys.exc_traceback
#clear sys.last_type #clear sys.last_value
#clear sys.last_traceback #clear sys.path_hooks
#clear sys.path_importer_cache #clear sys.meta_path
#clear sys.flags #clear sys.float_info
#restore sys.stdin # sys.stdoutを復元します。
#restore sys.stderr #cleanup main
#cleanup [1 ] zipimport #cleanup [1] signal
#cleanup[1 ] exceptions #cleanup [1] _warnings
#cleanup sys #cleanup builtin
#cleanup ints: 6 unfreed ints #cleanup floats

dir C:\Python27\Lib\site.py*を実行すると、次のようになります。

C:\ Users \ Mimminito> dir C:\ Python27 \ Lib \ site.py *
ドライブCのボリュームにはラベルがありません。
ボリュームシリアル番号はDAB9-A863です

C:\ Python27 \ Libのディレクトリ

2010/11/13 20:08 20,389 site.py
1ファイル20,389 バイト
0ディレクトリ694,910,976バイト無料

何か案は?


デフォルトのインストール場所を変更しなかった場合、C:/Python27/Lib/site.pyファイルがコンピューターに存在しますか?
ティムW.

はい、site.pyはそのフォルダにあります
Mimminito

7
@Mimminito:なぜ(穏やかに)9か月間失踪し、今私の回答を受け入れたのか、そして(大いに)根本的な問題が何であるかを見つけたのかどうか、私は興味があります。
John Machin、2012年

現在、この問題が発生しています。なぜなのかわからないので、インターネットで解決策を探しました。ImportError:pythonをどのようにインストールし、PATHに何を入れても、siteという名前のモジュールはありません。Pythonが実際にsite.pyをロードする方法を知りたいのですが。明らかにこれは相対パス/絶対パスの問題です。そして、私が暗闇の中でランダムなスタブに頼ることなく直接Pythonのパスを設定することができれば。
CMCDragonkai 2013

3
私はこの問題を抱えていました。のUNIX風のパスを持つCygwinから呼び出していましたPYTHONPATH。私はそれをWindowsスタイルのパスに変換しましたが、export PYTHONPATH=$(cygpath -w $PYTHONPATH)うまくいきます。このノートを追加して、同じページでこの問題にアクセスする可能性のある他の人々を支援します。
ロバート、2014

回答:


145

私は自分でこの問題を1日近く調査してきて、ようやく画期的なことがありました。これを試して:

  1. PYTHONPATH / PYTHONHOME変数の設定

    右クリックし、コンピュータ]アイコンをスタートメニューに行くのプロパティ。左側のタブで、[ システムの詳細設定 ]に移動します。表示されたウィンドウで[詳細設定]タブに移動し、下部にある[ 環境変数 ]をクリックします。ユーザー変数のリストをクリックしてPythonの入力を開始し、システム変数についても繰り返します。これは、PYTHONPATHまたはPYTHONHOMEの変数が誤って設定されていないことを確認するためです。次に、新しい変数を追加します(ユーザーではなくシステムで実行しましたが、ユーザーでも機能する可能性があります):PYTHONPATH、C:\ Python27 \ Libに設定します。PYTHONHOMEC:\ Python27に設定します。

お役に立てれば!


7
また、これを機能させるには、%PYTHONHOME%をパス変数に追加する必要があります。
Rishi

7
ああ!これが質問に対する答えになるはずです。私にとって、それは無効なパスに設定されたPYTHONHOME変数でした...それを削除しましたが、今では機能します!SteamのAlien Swarm modが追加したようです。
Timotei

2
PYTHONPATH/PYTHONHOMEPython site.pyLibフォルダーに配置されたモジュールを見つけるには、変数を設定する必要はありません。この回答は、せいぜい回避策です。
Piotr Dobrogost 2013年

3
環境変数は悪夢です。Linuxのせいです。
ダミアン2013

1
2つのPythonバージョンが同時にインストールされていないことを確認してください。たとえば、Python 2.7が%PATH%の最初にあり、Python3がPYTHONHOMEに設定されている場合、これはインタープリターを混乱させる可能性があります。
LM.Croisez 2016年

41

クイックソリューション:PYTHONHOMEとPYTHONPATHを設定し、PATHにPYTHONHOMEを含める

たとえば、c:\ Python27にインストールした場合

set PYTHONHOME=c:\Python27
set PYTHONPATH=c:\Python27\Lib
set PATH=%PYTHONHOME%;%PATH%

PYTHON *変数の末尾に「\」が付いていないことを確認してください。これにより問題が解消されるようです。


3
Windows 10の場合:setx PYTHONHOME "C:\ Python27" setx PYTHONPATH "C:\ Python27 \ Lib" setx PATH "%PYTHONHOME%;%PATH%"
Vesanto

これは、Python 3.6がインストールされたWindows 7ではうまく機能しました
知識の

12

Windows PythonとCygwin Pythonの両方をインストールし、Cygwin PythonをCygwinから実行しようとした後、この問題が発生しました。私はでそれを解決しexportPYTHONHOME =は/ usr /をするとPYTHONPATH =は/ usr / libに/ python2.7


12

PYTHONHOME環境変数が正しく設定されていることを確認してください。PYTHONHOMEが無効な場所を指している場合、または実行しようとしている別のPythonインストールを指している場合、このエラーが表示されます。

これを試して:

C:\>set PYTHONHOME=C:\Python27
C:\>python

使用する

setx PYTHONHOME C:\Python27

後続のコマンドプロンプトに対してこれを永続的に設定するには


6
setx PYTHONHOME C:\Python27後続のコマンドプロンプトでこれを永続的に設定するために使用します。それ以外の場合は、毎回setコマンドを使用する必要があります。
Iain Samuel McLean Elder

5

site.pyを見つけて、そのパスをPYTHONPATHに追加します。これはあなたの問題を解決します。


4

CygwinからWindows Pythonを実行しようとしていますか?私も同じ問題を抱えています。CygwinのPythonがサイトのインポートに失敗します。CmdのPythonが機能します。

PYTHONHOMEとPYTHONPATHを確実に実行する必要があるようです cygwin -awしてWindowsパスにする。また、pythonは誤ったパスを使用しているようです。

動作させるには、cygwinからpythonをインストールする必要があると思います。


1
こんにちはこれはおそらくあなたにとって問題ではありませんが、他の人がこの問題を抱えている場合は、メインの質問に対する私のコメントを参照してください。基本的には、を使用PYTHONPATHしてWindowsスタイルのパスに変換する必要がありますexport PYTHONPATH=$(cygpath -w $PYTHONPATH)
ロバート2014

4

Windows 10(@slckinの回答でフォローアップ)の場合、これはコマンドラインで次のように設定できます。

setx PYTHONHOME "C:\Python27"
setx PYTHONPATH "C:\Python27\Lib"
setx PATH "%PYTHONHOME%;%PATH%"

6
ユーザーとシステムパスの合計でユーザーを設定するため、私は使用しません。これは、(使用してローカルでも大丈夫です)が、使用していないsetx PATH "%PYTHONHOME%;%PATH%"PATHsetsetx
ジャン=フランソワ・ファーブル

4

私の場合、問題は別のsite.pyファイルでしたが、PATH設定により、Python \ Libのファイルよりも前に解決されました。

環境:Windows 10 Pro、Python27。

デスクトップにpgAdminがインストールされており、ファイルC:\ Program Files(x86)\ pgAdmin \ venv \ Lib \ site.pyがインストールされています。PATH環境変数はPythonよりも前にpdAdminのホームを持っていたため(どうやら最初は悪い考えでした)、pgAdminのsite.pyが最初に見つかりました。

問題を修正するために私がしなければならなかったのは、PATHでpgAdminのホームをPythonより遅く移動することだけでした


3

私にとっては、Pythonの2つのバージョン(python 27とpython 3.3)がインストールされているために起こりました。これらのフォルダーには両方ともパス変数が設定されているため、この問題が発生しました。修正するために、私はpython 3.3で大丈夫だったので、python27を一時フォルダに移動しました。PATHやPYTHONHOMEなどの環境変数を確認してください。問題になる可能性があります。ありがとう。


1

管理者以外のユーザーではまだ機能しないことが誰かにわかった場合:

エラーの例:

ImportError: No module named iso8601

easy_installの「--always-unzip」オプションを設定する必要があります。

easy_install --always-unzip python-keystoneclient

それはあなたの卵ファイルを解凍し、インポートがそれらを見つけることを可能にします。


1

私は同じ問題を経験しました ImportError: No module named site python 2.7.11のインストール中に経験しました

最初はPython2.5を使用していて、PYTHONHOMEパスはPython2.5に設定されていました。名前をに変更しC:\Python27\、問題を解決しました。


0

あなたはWindows用のよくできたPythonインストーラーであるオープンソースのアクティブPythonセットアップを試すことができます。バージョンをアンインストールしてインストールするだけです...


7
python.orgインストーラーは問題ありません
David Heffernan

ラップトップにActive Pythonをインストールしましたが、これは問題なくインストールされました。しかし、それは私のPCでは機能しません、それでも同じエラーが発生します
Mimminito

0

slckinの回答に賛成票を投じました。私の問題は、私が思慮深く、パスの周りに二重引用符を追加したことでした。3つの変数PYTHONHOME、PYTHONPATH、PATHのすべての二重引用符を削除しました。これは、他のツールの環境をセットアップするためのcmdまたはbatファイルに含まれていることに注意してください。ただし、アイコンの設定では二重引用符が役立つ場合があります。タイピング

セットする

引用符がパスのどこにあり、期待どおりにドロップされなかったことを明らかにしました。また、256文字未満になるようにPATHを短縮しました。


-1

私はPythonに大きく依存しているアプリケーションがあり、新しいバージョンがリリースされたときにpython 2.7.xで最新の状態を保っています。2.7.11まで同じNo module named siteエラーが発生するまで、すべてが問題ありませんでした。PYTHONHOMEをに設定し、機能しc:\Python27ています。ただし、以前のリリースでは必要なかったのに、なぜこれが必要になるのかは謎のままです。そして、それが必要な場合、インストーラーがこの変数を設定しないのはなぜですか?


-1

私も同じ問題を抱えていました。私の解決策は、Pythonのインストールを修復することでした。(新規インストールだったので問題ないと思いましたが、解決しました。)

修復するには(Windows 7):

  1. [コントロールパネル]-> [プログラム]-> [プログラムと機能]に移動します
  2. インストールされているPythonバージョンをクリックし、[アンインストールと変更]をクリックします。
  3. 指示に従ってインストールを修復します。

-3

PyYAMLホームページからyamlをインストールします。 http

OSとPythonに適したバージョンを選択します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.