今回はPythonのヴァージョン管理ツール、pyenvです。
前回の記事同様、環境としてはWindowsのWSL(Ubuntu)でゴニョゴニョしていました。
この記事もtipsのみで、記事内容は短いのであしからず!
まえおき
WindowsのWSL、Ubuntu18.04を使用していました。
Pythonがちょっと必要になったので、定番のpyenvをインストール!
インストール自体は問題なく、いつも通りpyenv install <version>
と!
そしたら以下。
curl: (7) Failed to connect to www.python.org port 443: Connection refused error: failed to download Python-3.7.6.tar.xz
あれーーー、プロキシの設定はしてあるはずなのに、なんでだろう~。。。
この前の記事でも少し紹介しました、WSLでの環境設定でプロキシサーバーがある場合、
ちょっと設定をしてあげる必要があったので、設定はしたはず。
ちょっとエラーをみてみる
まあ、それはそうと、まずエラーの確認から。
curl: (7) Failed to connect to www.python.org port 443: Connection refused error: failed to download Python-3.7.6.tar.xz
叩いたコマンドは、pyenv install 3.7.6 --verbose
--verboseは、インストールするときの詳細を表示してくれるオプションです。
うん、pyenvはcurl
を使っているのね。なんか通信が外に出られていないのねってこと。
curl
の場合、プロキシ設定として、ホームディレクトリに.curlrcというファイルを作成し、
ファイルを以下のように記述します。
proxy-user = "(user_name):(pwd)" proxy = "http://proxy.xxx.co.jp:(port)"
では、単純にcurlを叩いてみる。(この前通ることは確認したばかりなのになーー。。。)
結果、やはりcurlはちゃんと外に出られているようです。(レスポンスが返ってきました)
.basrc
や.bash_profile
にもプロキシの設定はしてあります。
ええーーーなんでだーー
解決策
あーだこうだ考えたり、試したり、ググってみたところ、以下のコマンドで通りました。
$ https_proxy=http://proxy.xxx.co.jp:8080 pyenv install 3.7.6
なんか.curlrc
に記述してあるproxyより、pyenvがcurlを呼んだときにhttps
が自動的に押し付けられるかんじになるのかな?
ちょっとまだ調べきれてないですが、完全にわかったらまた更新しようと思います。
取り急ぎ、以上