zoukankan      html  css  js  c++  java
  • 为 setuptools 开路搭桥 赖勇浩的编程私伙局 博客频道 CSDN.NET

    为 setuptools 开路搭桥 - 赖勇浩的编程私伙局 - 博客频道 - CSDN.NET


    赖勇浩(http://laiyonghao.com

    关键字:python, easy_install, setuptools, Bitvise Tunnelier, polipo, windows, linux, socks5, http, proxy

    在这里,我们有些网站无法访问。其中对我影响比较大的一个就是安装某些 Python 模块的时候,easy_install 无法访问到网站。在这里分享让 easy_install 使用代理的方法,如果你拥有 socks5 或 http 代理服务器可用,这个方法能够让 easy_install 完美地跨越长城。

    http

    首先介绍容易实现的 http 方式。得益于 python 模块 urllib 能够透明使用代理,easy_install 使用 http 代理是非常方式的。无论在 windows 还 linux 下,只要设置好 http_proxy 环境变量就可以了。
    你可以在 windows 命令行执行:

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

    或在 linux 下执行:

    1. 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 文件,找到下面两行:

    1. socksParentProxy = "localhost:9050"  
    2. 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)。今天发的是修正版,删除了敏…感…信息,并修正了一些错误或过时的信息。

  • 相关阅读:
    strip()、rstrip()和lstrip()
    Vim 中快速移动系列(1)
    Python中的read(), readline(), readlines()
    Python 列表解析(列表生成式)
    Python lambda 表达式介绍
    Python中sort()和sorted()的区别
    js 高级
    maven学习笔记
    Maven之settings.xml详解
    Eclipse 学习笔记
  • 原文地址:https://www.cnblogs.com/lexus/p/2475934.html
Copyright © 2011-2022 走看看