![[tips][Sublime Text] Sublime Text 3でPackage Controlを使う時のproxyの設定方法](https://casualdevelopers.com/wp-content/uploads/2014/01/sublimetext3logo-512x300.jpg)
前回はSublime Text 3をインストールして最初にすることに関して説明しました。
基本的にはそれOKなのですが、家で設定ができても、職場でエラーが出てうまくいかないケースがあります。今回はプロキシ問題に関する対処方法を紹介します。
「Package Control」をコマンドラインからインターネット経由でインストールする場合のエラー
Ctrl + `でコマンドラインを表示してから、以下のコマンドを実行して、失敗した場合の対処方法です。
import urllib.request,os,hashlib; h = ‘7183a2d3e96f11eeadd761d777e62404e330c659d4bb41d3bdf022e94cab3cd0’; pf = ‘Package Control.sublime-package’; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); by = urllib.request.urlopen( ‘http://sublime.wbond.net/’ + pf.replace(’ ’, ’%20’)).read(); dh = hashlib.sha256(by).hexdigest(); print(‘Error validating download (got %s instead of %s), please try manual install’ % (dh, h)) if dh != h else open(os.path.join( ipp, pf), ‘wb’ ).write(by)
(1)「urllib.error.HTTPError: HTTP Error 407: 407」
原因は、プロキシです。
以下のようにコマンドにプロキシ設定を追加して実行しましょう。
import urllib.request,os,hashlib; h = ‘7183a2d3e96f11eeadd761d777e62404e330c659d4bb41d3bdf022e94cab3cd0’; pf = ‘Package Control.sublime-package’; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler({‘http’: ‘http://プロキシのユーザ名:プロキシのパスワード@プロキシサーバのアドレス:ポート番号’})) ); by = urllib.request.urlopen( ‘http://sublime.wbond.net/’ + pf.replace(’ ’, ’%20’)).read(); dh = hashlib.sha256(by).hexdigest(); print(‘Error validating download (got %s instead of %s), please try manual install’ % (dh, h)) if dh != h else open(os.path.join( ipp, pf), ‘wb’ ).write(by)
(2)「Package Control: Error downloading channel. HTTP error 407」
(1)の対処をした場合でも発生する原因不明のエラーです。
「Sublime Text 3」を再起動すれば解決します。バグでしょうか?
「Package Control」を使う場合のエラー
Ctrl + Shift + Pでコマンドパレットを表示してから、「Package Control: Install Package」を使用で失敗した場合の対処方法です。
(1)「package control there are no packages available for installation」
原因は、プロキシです。
「Prefirences -> Package Settings -> Package Control -> Settings – User」にプロキシ設定を追加しましょう。
{ "http_proxy": "プロキシサーバのアドレス:ポート番号", "https_proxy": "プロキシサーバのアドレス:ポート番号", "proxy_username": "プロキシのユーザ名", "proxy_password": "プロキスのパスワード" }
(2)「errno 12057」
原因は、SSL証明書の失効を検証できないことです。(類似事例)
以下のインターネットオプションの設定を変更しましょう。
「コントロールパネル -> インターネットオプション -> 詳細設定」
「セキュリティ」項目の「サーバーの証明書失効を確認する*」のチェックをはずしましょう。
これで、プロキシを突破してPackage Contorlを使いこなせますね。
環境
OS : Windows7
Sublime Text : Sublime Text 3