在OSX上“没有名为_scproxy的模块”

| 我使用的是预装python 2.6的OSX 10.6,并希望通过easy_install或setup.py(在下载的软件包中)安装python软件包。就我而言,我正在尝试安装MySQLdb。在这两种情况下,我都会得到一个堆栈跟踪,其结尾如下:
...
File  \"/System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python/setuptools/command/easy_install.py\", line 21, in <module>
    from setuptools.package_index import PackageIndex, parse_bdist_wininst
File  \"/System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python/setuptools/package_index.py\", line 2, in <module>
   import sys, os.path, re, urlparse, urllib2, shutil, random, socket, cStringIO
File  \"/System/Library/Frameworks/Python/framework/Versions/2.6/lib/python2.6/urllib2.py\", line 111, in <module>
   from urllib import (unwrap, unquote, splittype, splithost, quote,
File  \"/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/urllib.py\", line 1335, in <module>
   from _scproxy import _get_proxy_settings, _get_proxies
ImportError: No module named _scproxy
python安装是未修改的预安装版本2.6.1,除了将源文件添加到lib文件夹之外。 \“查找/System/Library/Frameworks/Python.framework/ -name scproxy \”不会产生任何结果。 如何安装缺少的模块?     
已邀请:
背景 “ 1”是Mac特定的urllib帮助程序,与OS特定的库进行接口以执行HTTP请求。我的系统上似乎也缺少(10.6.7)。初步来说,我认为这似乎是系统Python构建的问题(在ѭ2under下我找不到任何看起来像它的东西)。 Hack-o-rama解决方案 可以安装缺少的模块。但首先要提一些建议: 您不应该对您的系统Python安装造成太多混乱。通过学习使用virtualenv并在新的,新的virtualenv上进行潜在的危险操作来帮自己一个忙。这样,您的系统就不会受到有问题的软件包的安装的影响。 无论如何:Snow Leopard上的标准Python是2.6.1。我使用最新的2.6、2.6.6进行了实验,一种比较安全的方法是下载该文件。但是我的经验是,不同的点发布可以很好地协同工作。 无论如何,我在
~/src
目录中下载了2.6.6,如下所示:
~/src/ext/python$ wget http://www.python.org/ftp/python/2.6.6/Python-2.6.6.tgz
~/src/ext/python$ tar zxf Python-2.6.6.tgz
~/src/ext/python$ cd Python-2.6.6
~/src/ext/python$ ./configure
疯狂的控制台垃圾邮件
~/src/ext/python$ make sharedmods
希望没有错误,更多的控制台垃圾邮件 找到新建的
_scproxy.so
~/src/ext/python/Python-2.6.6$ find . -name \'_scproxy.so\'
./build/lib.macosx-10.4-x86_64-2.6/_scproxy.so # <- exact path may vary
现在,您可以将
_scproxy.so
复制到
/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-dynlo
ad
(然后记住,系统Python中有一个自制的有点陌生的模块)。或者,更好的是,将其添加到virtualenv的“ 10”子目录中。完成这些操作后,我可以按照回溯中指示的方式导入_scproxy:
Python 2.6.1 (r261:67515, Jun 24 2010, 21:47:49) 
[GCC 4.2.1 (Apple Inc. build 5646)] on darwin
Type \"help\", \"copyright\", \"credits\" or \"license\" for more information.
>>> from _scproxy import _get_proxy_settings, _get_proxies
>>>
这有力地表明,通过要求
urllib
请求的方法,再以ѭ1ut的方式安装软件包,将可以正常工作。但是,由于我不想测试安装MySQL本身,因此从那里开始您可以自己继续。     

要回复问题请先登录注册