Como instalar corretamente pacotes Python?

3

Eu corro um sistema Slackware e estou tentando executar algum código Python, mas recebendo muitos erros como este abaixo:

>>> import urllib2
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.6/urllib2.py", line 91, in <module>
    import hashlib
  File "/usr/lib/python2.6/hashlib.py", line 136, in <module>
    md5 = __get_builtin_constructor('md5')
  File "/usr/lib/python2.6/hashlib.py", line 63, in __get_builtin_constructor
    import _md5
ImportError: No module named _md5

O urllib2 deve ser um pouco básico com o Python, como posso fazer o Python funcionar corretamente?

O motivo é que urllib2 parece ser uma dependência de praw : link

Tentar instalar o pip para obter isso instalado me dá:

Traceback (most recent call last):
  File "setup.py", line 5, in <module>
    from setuptools import setup
ImportError: No module named setuptools

Então, tentei instalar o setuptools:

running install
Traceback (most recent call last):
  File "setup.py", line 94, in <module>
    scripts = scripts,
  File "/usr/lib/python2.6/distutils/core.py", line 152, in setup
    dist.run_commands()
  File "/usr/lib/python2.6/distutils/dist.py", line 975, in run_commands
    self.run_command(cmd)
  File "/usr/lib/python2.6/distutils/dist.py", line 995, in run_command
    cmd_obj.run()
  File "/root/setuptools-0.6c11/setuptools/command/install.py", line 76, in run
    self.do_egg_install()
  File "/root/setuptools-0.6c11/setuptools/command/install.py", line 85, in do_egg_install
    easy_install = self.distribution.get_command_class('easy_install')
  File "/root/setuptools-0.6c11/setuptools/dist.py", line 395, in get_command_class
    self.cmdclass[command] = cmdclass = ep.load()
  File "/root/setuptools-0.6c11/pkg_resources.py", line 1954, in load
    entry = __import__(self.module_name, globals(),globals(), ['__name__'])
  File "/root/setuptools-0.6c11/setuptools/command/easy_install.py", line 21, in <module>
    from setuptools.package_index import PackageIndex, parse_bdist_wininst
  File "/root/setuptools-0.6c11/setuptools/package_index.py", line 2, in <module>
    import sys, os.path, re, urlparse, urllib2, shutil, random, socket, cStringIO
  File "/usr/lib/python2.6/urllib2.py", line 91, in <module>
    import hashlib
  File "/usr/lib/python2.6/hashlib.py", line 136, in <module>
    md5 = __get_builtin_constructor('md5')
  File "/usr/lib/python2.6/hashlib.py", line 63, in __get_builtin_constructor
    import _md5
ImportError: No module named _md5
    
por Zeno 30.10.2012 / 19:41

2 respostas

3

Você pode usar pip ou easy_install para instalar módulos python.

 $ pip install <package-name>

Editar:

Eu tentei instalar o urllib2 package e ele me disse que o real name of requirement urllib2 is urllib3 . Aqui está o que aconteceu:

pradeep@pradeep-laptop:~$ sudo pip install urllib2
Downloading/unpacking urllib2
  Real name of requirement urllib2 is urllib3
  Could not find any downloads that satisfy the requirement urllib2
No distributions at all found for urllib2
Storing complete log in /home/pradeep/.pip/pip.log
pradeep@pradeep-laptop:~$ sudo pip install urllib3
Downloading/unpacking urllib3
  Downloading urllib3-1.5.tar.gz
  Running setup.py egg_info for package urllib3

Installing collected packages: urllib3
  Running setup.py install for urllib3

Successfully installed urllib3
Cleaning up...
pradeep@pradeep-laptop:~$ python
Python 2.7.3 (default, Apr 20 2012, 22:39:59) 
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import urllib3
>>> 

Edit2:

Você pode instalar o python-pip a partir do código-fonte.

$ wget http://pypi.python.org/packages/source/p/pip/pip-0.7.2.tar.gz
$ tar xzf pip-0.7.2.tar.gz
$ cd pip-0.7.2
$ python setup.py install
    
por 30.10.2012 / 19:48
1

O Pip é o caminho certo a seguir para instalar seus módulos do Python. O Easy_installer é o instalador padrão do pacote python, mas o pip o substitui e normalmente deve ser preferido, embora alguns pacotes só sejam instalados com o easy_installer.

Onde outras respostas estão quebrando, aqui está como instalar o software em uma máquina slackware. Em vez de construir novos softwares, você deve verificar o Slackbuilds.org. Este repositório compartilha um link para a fonte de software e um script de compilação personalizado para o Slackware compilar o software e fazer um pacote do Slackware que pode ser facilmente instalado / desinstalado / atualizado, e é rastreado pelo sistema de gerenciamento de pacotes do Slackware, installpkg / updatepkg / removepkg . O Slackbuilds também permitirá que você saiba das dependências de outros pacotes do slackbuilds. Por favor, note que slackbuilds assume uma instalação abrangente do Slackware, e não lhe diz quaisquer dependências nos pacotes slack padrão.

Assumindo o Slack 14.0, você precisará de: link link

Finalmente, por favor, olhe para slackpkg e sbopkg para um gerenciamento de pacotes automatizado mais abrangente para o Slackware. O Slackware oficialmente não suporta slackpkg, ou slackbuilds, apesar de serem amplamente utilizados e bem mantidos.

    
por 31.01.2013 / 01:05