web-dev-qa-db-ja.com

import _socket: "インポートエラー:DLLロードに失敗しました"

私はDjangoとpymcを昨日インストールしようとしました。多くの問題に遭遇した後、私は単に再インストールすることにしましたPython 2.7。私はそれをやったしかし、ほとんどすべてのインポートに問題があります。最後の行は次のとおりです。

 File "c:\python27\lib\httplib.py", line 71, in <module>
   import socket
 File "c:\python27\lib\socket.py", line 47, in <module>
   import _socket
ImportError: DLL load failed: The specified procedure could not be found.

コマンドプロンプトでpythonを実行して(機能する)かどうかを確認し、import pip、またはシェルの外で入力python get-pip.py同じ最後の行が表示されます。

私のマシンにはpythonの2つのバージョンがあり、1つは2.7、もう1つはキャノピーフォルダーにあるI THINK 2.6であると記録していますが、それでも機能しません。 、「ImportError:osという名前のモジュールはありません」というエラーメッセージが表示されます。「c:\ python27; c:\ python27\scripts」で始まるPATH環境変数があります。

私はpythonを数回再インストールしましたが、修復オプションも試しましたが、うまくいきませんでした。誰かアイデアはありますか?

編集:Pythonをアンインストールしたときに、C:\ Python27フォルダーの削除を怠ったようです。私は再びアンインストールし、フォルダを削除してから再インストールしましたが、現在は正常に機能しています。助けてくれてありがとう。

23
user3731928

python 2.7.12にアップグレードした後も同じエラーが発生しました。

それを解決するために、同じディレクトリに別のインストールを行いました。興味深いことに、インストーラは既存のインストールを認識しませんでした。必ず「パスにpython.exeを追加する」にチェックを入れました。その後、うまくいきました。

python 2.7.12を再度インストールしようとすると、インストーラーが既存のインストールを認識し、変更/修復/アンインストールオプションを提供しました。

更新:振り返ってみると、32ビットのインストールと64ビットの更新(またはその逆)を誤って混合したことが原因である可能性があります。 Pythonは、別のディレクトリにインストールしたり、別のDLL名を使用したりしていないようです。インストーラーも警告しません。そのため、更新後、DLLは32と64の不健全な組み合わせになりますビットバリアント。

4
Sascha

私は同じ問題を抱えていますが、py2とpy3の環境(Windows 10)を混在させた後、次の方法で解決しました:

1. Uninstall all py2 & py3
2. install py 2.7.14 win32 (now newest)
3. add following enviroment varaible to system Path & PythonPath:
1) C:\Python27
2) C:\Python27\Script
3) C:\Python27\Lib
4) C:\Python27\DLLs

ref: ここ

2
Kamil

システムアーキテクチャに応じて、PyWin32またはPyWin64のいずれかを取得することをお勧めします。システムがx86の場合はPyWin32を取得し、それ以外の場合はシステムがx64の場合はPyWin64を取得します。私自身も同様の問題を抱えており、PyWin32を入手することで、これらの問題を修正することができました。

0
Stormy

これはPython 2.7.13の問題であるようです。2.7.12をインストールすると問題が解決しました。

0
Rad Apdal
import sys
sys.path.append("address where the socket module is present like C:\Python34\Lib\")
import socket

これを試してみてください

0
Sriker Ch