pipよりtensorflowをインストールしようとしたところ以下のエラーが出て困っています、対処方法を教えてください。

"ERROR: Could not install packages due to an EnvironmentError: [Errno 2] No such file or directory: 'C:\\Users\\(User名)\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\\LocalCache\\local-packages\\Python37\\site-packages\\tensorflow_estimator\\python\\estimator\\canned\\linear_optimizer\\python\\utils\\__pycache__\\sharded_mutable_dense_hashtable.cpython-37.pyc'"
インストールに用いたコマンドは、pip install tensorflow --user --no-warn-script-locationです。
環境は Windows 10で、Microsoft StoreからPythonをインストールしました。
よろしくお願いします。

回答の条件
  • 1人1回まで
  • 13歳以上
  • 登録:2019/05/19 14:12:30
  • 終了:2019/05/25 22:39:24

ベストアンサー

id:siachan No.2

siachan回答回数87ベストアンサー獲得回数192019/05/25 17:41:41

ポイント93pt

試せる環境が無いので憶測でしかないのですが…。

C:\Users\(User名)\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\LocalCache\local-packages\Python37\site-packages\tensorflow_estimator\python\estimator\canned\linear_optimizer\python\utils\__pycache__\sharded_mutable_dense_hashtable.cpython-37.pyc

というパスは、NTFSの上限である255文字を超えているので、作成に失敗しているんだと思います。

ただ、Windows10ではこの制限を突破できるようになったらしく、公式ドキュメントに

Windows の最新版では、この制限は約 32,000 文字まで拡張できます。 管理者が、グループポリシーの "Win32 の長いパスを有効にする (Enable Win32 long paths)" を有効にするか、レジストリ HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem@LongPathsEnabled の値を 1 に設定する必要があります。

(snip)

バージョン 3.6 で変更: Python で長いパスのサポートが可能になりました。

https://docs.python.org/ja/3/using/windows.html#removing-the-max-path-limitation

とありますので、グループポリシーかレジストリを変更することで実行できるようになるかも知れません(自己責任ですが)。

id:halohalolin

siachanさんありがとうございます。
レジストリ変更した後、再度同じコマンドを実行したところ、「Successfully installed tensorflow-1.13.1 tensorflow-estimator-1.13.0」と出たので成功したっぽいです。
ありがとうございます!
(裏でpythonはこんなことでも難しいから苦手だと愚痴っていた自分に恥じ入るばかりです。)

2019/05/25 22:38:15

その他の回答(1件)

id:niwa-mikiho No.1

type-a回答回数516ベストアンサー獲得回数402019/05/20 12:10:17

ポイント7pt

コマンドプロンプトのショートカットを作成し、右クリックメニューから管理者権限で実行してから同じコマンドを打ってみてください。

id:halohalolin

type-aさんありがとうございます。
それはやったのですが、改善しませんでした。
そもそも、エクスプローラーによると該当のファイルが確かに存在していなかったので、これを何とかしないと駄目ではないかと思ってます。

2019/05/20 12:21:46
id:siachan No.2

siachan回答回数87ベストアンサー獲得回数192019/05/25 17:41:41ここでベストアンサー

ポイント93pt

試せる環境が無いので憶測でしかないのですが…。

C:\Users\(User名)\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\LocalCache\local-packages\Python37\site-packages\tensorflow_estimator\python\estimator\canned\linear_optimizer\python\utils\__pycache__\sharded_mutable_dense_hashtable.cpython-37.pyc

というパスは、NTFSの上限である255文字を超えているので、作成に失敗しているんだと思います。

ただ、Windows10ではこの制限を突破できるようになったらしく、公式ドキュメントに

Windows の最新版では、この制限は約 32,000 文字まで拡張できます。 管理者が、グループポリシーの "Win32 の長いパスを有効にする (Enable Win32 long paths)" を有効にするか、レジストリ HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem@LongPathsEnabled の値を 1 に設定する必要があります。

(snip)

バージョン 3.6 で変更: Python で長いパスのサポートが可能になりました。

https://docs.python.org/ja/3/using/windows.html#removing-the-max-path-limitation

とありますので、グループポリシーかレジストリを変更することで実行できるようになるかも知れません(自己責任ですが)。

id:halohalolin

siachanさんありがとうございます。
レジストリ変更した後、再度同じコマンドを実行したところ、「Successfully installed tensorflow-1.13.1 tensorflow-estimator-1.13.0」と出たので成功したっぽいです。
ありがとうございます!
(裏でpythonはこんなことでも難しいから苦手だと愚痴っていた自分に恥じ入るばかりです。)

2019/05/25 22:38:15

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません