2013-08-01 9 views
2

Я не могу установить пакеты python из pip и easy_install. Существует некоторая абсурдная ошибка, которая постоянно появляется. Пожалуйста, помогите исправить это.Ошибки при установке пакетов python

Я получаю те же ошибки при использовании python setup.py install.

Ошибка при установке Джанго-Memcached

C:\Users\Praful\Desktop\django-redis-master>easy_install django-memcached 
Traceback (most recent call last): 
    File "C:\Python27\Scripts\easy_install-script.py", line 9, in <module> 
    load_entry_point('distribute==0.6.27', 'console_scripts', 'easy_install')() 
    File "C:\Python27\lib\site-packages\distribute-0.6.27-py2.7.egg\setuptools\com 
mand\easy_install.py", line 1915, in main 
    with_ei_usage(lambda: 
    File "C:\Python27\lib\site-packages\distribute-0.6.27-py2.7.egg\setuptools\com 
mand\easy_install.py", line 1896, in with_ei_usage 
    return f() 
    File "C:\Python27\lib\site-packages\distribute-0.6.27-py2.7.egg\setuptools\com 
mand\easy_install.py", line 1919, in <lambda> 
    distclass=DistributionWithoutHelpCommands, **kw 
    File "C:\Python27\lib\distutils\core.py", line 112, in setup 
    _setup_distribution = dist = klass(attrs) 
    File "C:\Python27\lib\site-packages\distribute-0.6.27-py2.7.egg\setuptools\dis 
t.py", line 222, in __init__ 
    for ep in pkg_resources.iter_entry_points('distutils.setup_keywords'): 
    File "C:\Python27\lib\site-packages\distribute-0.6.27-py2.7.egg\pkg_resources. 
py", line 486, in iter_entry_points 
    entries = dist.get_entry_map(group) 
    File "C:\Python27\lib\site-packages\distribute-0.6.27-py2.7.egg\pkg_resources. 
py", line 2315, in get_entry_map 
    self._get_metadata('entry_points.txt'), self 
    File "C:\Python27\lib\site-packages\distribute-0.6.27-py2.7.egg\pkg_resources. 
py", line 2101, in parse_map 
    raise ValueError("Entry points must be listed in groups") 
ValueError: Entry points must be listed in groups 

Ошибка при установке питона-кэша памяти

C:\Users\Praful\Desktop\mem>python setup.py install 
Traceback (most recent call last): 
    File "setup.py", line 24, in <module> 
    "Topic :: Software Development :: Libraries :: Python Modules", 
    File "C:\Python27\lib\distutils\core.py", line 112, in setup 
    _setup_distribution = dist = klass(attrs) 
    File "C:\Python27\lib\site-packages\distribute-0.6.27-py2.7.egg\setuptools\dis 
t.py", line 222, in __init__ 
    for ep in pkg_resources.iter_entry_points('distutils.setup_keywords'): 
    File "C:\Python27\lib\site-packages\distribute-0.6.27-py2.7.egg\pkg_resources. 
py", line 486, in iter_entry_points 
    entries = dist.get_entry_map(group) 
    File "C:\Python27\lib\site-packages\distribute-0.6.27-py2.7.egg\pkg_resources. 
py", line 2315, in get_entry_map 
    self._get_metadata('entry_points.txt'), self 
    File "C:\Python27\lib\site-packages\distribute-0.6.27-py2.7.egg\pkg_resources. 
py", line 2101, in parse_map 
    raise ValueError("Entry points must be listed in groups") 
ValueError: Entry points must be listed in groups 

ответ

0

Может быть проблема с distribute. Я бы рекомендовал повторно установить Python.

0

Я нашел ту же проблему, которая была вызвана недопустимым файлом entry_points.txt в одном укомплектованном яйце.

Может быть довольно сложно отследить, какой из них есть, если их много.

мне удалось найти, что мало ба # @ "d путем создания и запуска setup.py для фиктивного пакета:

setup.py

from setuptools import setup, find_packages 
setup(
    name = "IWillFindYou", 
    version = "0.1", 
    packages = find_packages() 
) 

запустить это в режиме отладки будет точка этой линии в pkg_resources.py

def parse_map(cls, data, dist=None): 
     [...] 
      raise ValueError("Entry points must be listed in groups") 

если вернуться к трассировки стека, вы увидите, что parse_map называется здесь:

def get_entry_map(self, group=None): 
    [...] 
     ep_map = self._ep_map = EntryPoint.parse_map(
      self._get_metadata('entry_points.txt'), self 
     ) 

оценки self.egg_info укажут ваше зло яйца, так что вы можете взглянуть на файл entry_points.txt.

Если вам не пригодится отладчик, попробуйте поместить print self.egg_info в get_entry_map и посмотрите на последний опубликованный парень.

4
  1. Найти get_entry_map(self, group=None): в python \ Lib \ sitepackages \ pkg_resources \ __ init__.py. Вставить после print self.egg_info
  2. Запустить python setup.py и посмотреть на последнюю напечатанную - сломанную упаковку. Запомните это, а затем установите снова. Удалите папку с разбитым пакетом и папкой broken_package-version.dist-info. Запустите снова пункт , пока ошибка не исчезнет.
  3. Удалить изменения из раздела .
  4. python setup.py install 'broken_package'
Смежные вопросы