follow us in feedly

Windows7のget-pip.pyで発生したエラーに対処する

前回記事にあるとおり、Windows上でPythonを使うことになりました。
ついでにPythonのパッケージ管理システムであるpipをインストールすることにしたのですが
ちょっとしたエラーが発生してすんなりとはいかなかったので対応方法をご紹介します。

環境

  • Windows 7
  • Python 3.6.3

get-pip.pyがエラーで動かない

ドキュメントに従ってインストールを試みるも下記エラーが発生。

エラー内容


Traceback (most recent call last):
  File "get-pip.py", line 20061, in <module>
    main()
  File "get-pip.py", line 194, in main
    bootstrap(tmpdir=tmpdir)
  File "get-pip.py", line 82, in bootstrap
    import pip
  File "<frozen importlib._bootstrap>", line 971, in _find_and_load
  File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 656, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 626, in _load_backward_compatible
  File "C:\Users\77dogs\AppData\Local\Temp\tmpqicpv3hr\pip.zip\pip\__init__.py", line 26, in <module>
  File "<frozen importlib._bootstrap>", line 971, in _find_and_load
  File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 656, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 626, in _load_backward_compatible
  File "C:\Users\77dogs\AppData\Local\Temp\tmpqicpv3hr\pip.zip\pip\utils\__init__.py", line 23, in <module>
  File "<frozen importlib._bootstrap>", line 971, in _find_and_load
  File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 656, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 626, in _load_backward_compatible
  File "C:\Users\77dogs\AppData\Local\Temp\tmpqicpv3hr\pip.zip\pip\locations.py", line 88, in <module>
  File "ntpath.py", line 75, in join
TypeError: expected str, bytes or os.PathLike object, not NoneType

対応方法

C:\python\python36._pthを編集します。
下記のようにコメントをはずして、siteモジュールをインポートするように設定します。
該当設定の直上コメントにも、”Uncomment”と書いてありますね。


python36.zip
.

# Uncomment to run site.main() automatically
import site # ←コメントをはずす

再実行

再度実行します。無事にインストールが完了しました。
プロキシ環境下での実行なのでオプションを付けています。


$ python get-pip.py --proxy="[user:passwd@]proxy.server:port"
Collecting pip
  Downloading pip-9.0.1-py2.py3-none-any.whl (1.3MB)
Collecting setuptools
  Downloading setuptools-36.5.0-py2.py3-none-any.whl (478kB)
Collecting wheel
  Downloading wheel-0.30.0-py2.py3-none-any.whl (49kB)
Installing collected packages: pip, setuptools, wheel
Successfully installed pip-9.0.1 setuptools-36.5.0 wheel-0.30.0

まとめ

pipのインストール時に発生したエラーの対応方法をご紹介しました。
「import site」のコメントをはずすことで解消されます。
proxyオプションとあわせて参考なれば幸いです。

参考

pip — pip 9.0.1 documentation
python 3.6 embed cannot get pip · Issue #7 · pypa/get-pip

タグ: ,

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください