2013-08-01 175 views
2

我无法安装pipeasy_install的python软件包。有一些荒谬的错误持续出现。请帮助纠正它。安装python软件包时出错

使用python setup.py install时出现同样的错误。

错误而安装Django的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 

错误而安装中的python-memcache的

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

我发现同样的问题是由于一个instelled egg中出现misfometted entry_points.txt文件引起的。

如果有很多人,可能很难找出哪一个是。

我设法找到那个小BA#@“通过创建和虚拟包运行setup.py D:!

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'