為 setuptools 開路搭橋

來源:互聯網
上載者:User

賴勇浩(http://laiyonghao.com)

關鍵字:python, easy_install, setuptools, Bitvise Tunnelier, polipo, windows, linux, socks5, http, proxy

在這裡,我們有些網站無法訪問。其中對我影響比較大的一個就是安裝某些 Python 模組的時候,easy_install 無法訪問到網站。在這裡分享讓 easy_install 使用代理的方法,如果你擁有 socks5 或 http Proxy 伺服器可用,這個方法能夠讓 easy_install 完美地跨越長城。
http

首先介紹容易實現的 http 方式。得益於 python 模組 urllib 能夠透明使用代理,easy_install 使用 http 代理是非常方式的。無論在 windows 還 linux 下,只要設定好 http_proxy 環境變數就可以了。
你可以在 windows 命令列執行:

set HTTP_PROXY=http://your.proxy.com:yourPort 

或在 linux 下執行:

export HTTP_PROXY="http://your.proxy.com:yourPort"

然後再執行 easy_install 即可。
socks5

如果你有 VPS,推薦在 windows 下使用 Bitvise Tunnelier,它能夠利用你的 VPS 提供 socks5 代理服務。可惜 easy_install 沒有辦法直接使用 socks5 代理,所以需要一個軟體來把 socks5 代理轉換為 http 代理。通過 twitter 上許多友好人士的提點,我選擇了 polipo 這個軟體來打造 http 代理。
polipo 使用非常簡單,在這裡(http://interloper.org/tmp/polipo/polipo-1.0.4.1-forbidden-1-win32.exe)下載到一個 windows 下的安裝檔案,一路 next 安裝即可,安裝後進入 polipo.exe 所在的安裝目錄,用記事本或其它編輯器(我使用 gvim)開啟 config 檔案,找到下面兩行:

# socksParentProxy = "localhost:9050"# socksProxyType = socks5

然後把前面的 # 去掉,把 9050 改成你的 socks5 伺服器的連接埠,我使用的是 Bitvise Tunnelier 預設的 1080,然後儲存關閉。
現在通過開始菜單運行 polipo,你應該可以看到 Established listening socket on port 8123 字樣,表示運行成功了。這時再通過上文的方法把 http://127.0.0.1:8123 設定為 http_proxy 環境變數,你的 easy_install 就可以使用代理了。
其它方案

自由的 linux 下有著更豐富的方式,polipo 本身是個跨平台軟體,也可以使用 @number5、@kynix 和 @kypudding 推薦的 tscoks 以及 ProxyChains,windows 下也還可以使用 SocksCap。而我採用的 polipo 方案來自 @BOYPT 的推薦,感謝所有人,也感謝國家,給我動力和機會去瞭解這些工具,我相信以後會在其它地方用得著這些“技術”。本解決方案得益於 Google 和 Twitter 兩個偉大的網站,在此一併感謝。
後記

這本來是 2010 年 4 月 16 日發表在本博的文章,因為之前的版本有太多敏…感…詞,所以被 CSDN Blog 刪掉了,幸好有熱心有大房(@dafang)當時轉載到他的部落格(http://dafang.sinaapp.com/?p=948)。今天發的是修正版,刪除了敏…感…資訊,並修正了一些錯誤或過時的資訊。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.