【问题标题】:ImportError: No module named 'urllib2' when installing Package Manager in Sublime Text 3ImportError:在 Sublime Text 3 中安装包管理器时没有名为“urllib2”的模块
【发布时间】:2013-07-17 20:09:08
【问题描述】:

我正在尝试按照此处http://wbond.net/sublime_packages/package_control/installation 的说明安装 Sublime Package Control,但出现错误:

Traceback (most recent call last):
  File "<string>", line 1, in <module>
ImportError: No module named 'urllib2'

有一些与问题相关的答案 (Python 3.2 Unable to import urllib2 (ImportError: No module named urllib2)),但没有说明如何解决,用户只是发布了一个链接,解释了问题出现的原因。但是如何使用这些信息来解决问题呢?

这是安装命令:

import urllib2,os; 
pf='Package Control.sublime-package'; 
ipp=sublime.installed_packages_path(); 
os.makedirs(ipp) if not os.path.exists(ipp) else None;
urllib2.install_opener(urllib2.build_opener(urllib2.ProxyHandler()));
open(os.path.join(ipp,pf),'wb').write(urllib2.urlopen('http://sublime.wbond.net/'+pf.replace(' ','%20')).read()); 
print('Please restart Sublime Text to finish installation')

我应该用什么替换urllib2才能成功安装?

【问题讨论】:

    标签: python-3.x urllib2 sublimetext3


    【解决方案1】:

    看来您已按照在 Sublime Text 2 上安装的说明进行操作。目前在 Sublime Text 3 上您必须使用 git 进行安装。该网站的说明如下:

    cd Packages/
    git clone https://github.com/wbond/sublime_package_control.git "Package Control"
    cd "Package Control"
    git checkout python3
    

    注意:第一行的 Packages/ 文件夹是指使用 Preferences > Browse Packages... 菜单时打开的文件夹。

    这是page相关部分的链接

    【讨论】:

      【解决方案2】:

      看来Sublime Text 3 不需要Git 方法,至少not anymore.

      这是 ST3 的 sn-p:

      import urllib.request,os;
      pf = 'Package Control.sublime-package';
      ipp = sublime.installed_packages_path(); 
      urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) );
      open(os.path.join(ipp, pf), 'wb').write(urllib.request.urlopen( 'http://sublime.wbond.net/' + pf.replace(' ','%20')).read())
      

      【讨论】:

        【解决方案3】:

        我用这个解决了 Sublime Text 2 的相同错误:

        import urllib.request,os,hashlib; h = '2915d1851351e5ee549c20394736b442' + '8bc59f460fa1548d1514676163dafc88'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); os.makedirs( ipp ) if not os.path.exists(ipp) else None; urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); by = urllib.request.urlopen( 'http://packagecontrol.io/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); open( os.path.join( ipp, pf), 'wb' ).write(by) if dh == h else None; print('Error validating download (got %s instead of %s), please try manual install' % (dh, h) if dh != h else 'Please restart Sublime Text to finish installation')
        

        【讨论】:

        • 你把这个放在哪里了?
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-04-16
        • 1970-01-01
        • 1970-01-01
        • 2015-01-21
        • 1970-01-01
        • 2015-10-04
        • 2016-10-26
        相关资源
        最近更新 更多