在python setup.py egg_info上使用pip中断安装

时间:2011-08-29 17:02:35

标签: python setuptools pip

我正在尝试通过Pip和PyPI使用通常的命令pip install tvrenamr安装我自己的程序但是我收到以下错误:

Downloading/unpacking tvrenamr
  Running setup.py egg_info for package tvrenamr
    Usage: tvr [options] <file/folder>

    -c: error: no such option: --egg-base
    Complete output from command python setup.py egg_info:
    Usage: tvr [options] <file/folder>



-c: error: no such option: --egg-base

----------------------------------------
Command python setup.py egg_info failed with error code 2
Storing complete log in /Users/george/.pip/pip.log

我检查已经有一段时间,但我曾经能够使用我在PyPI上放置的先前版本来安装我的代码,但是我更新到最新的Pip - 不确定是否会导致事情破坏!

所以当pip运行python setup.py egg_info时,似乎正在调用TvRenamr,或者至少导入了我的选项解析器类。

我的setup.py

from os.path import dirname, join
from setuptools import setup, find_packages

from tvrenamr import get_version

def fread(fname):
    return open(join(dirname(__file__), fname)).read()

setup(
    name = 'tvrenamr',
    version = get_version(),
    description = 'Rename tv show files using online databases',
    long_description = fread('README.markdown'),
    author = 'George Hickman',
    author_email = 'george@ghickman.co.uk',
    url = 'http://github.com/ghickman/tvrenamr',
    license = 'MIT',
    packages = find_packages(exclude=['tests']),
    entry_points = {'console_scripts': ['tvr = tvrenamr.tvrenamr:run',],},
    classifiers = [
        'Environment :: Console',
        'Intended Audience :: End Users/Desktop',
        'License :: OSI Approved :: MIT License',
        'Operating System :: MacOS',
        'Operating System :: Microsoft :: Windows',
        'Operating System :: POSIX :: Linux',
        'Programming Language :: Python :: 2.6',
        'Topic :: Multimedia',
        'Topic :: Utilities',
        'Natural Language :: English'],
    install_requires = ('lxml', 'pyyaml',)
)

tvrenamr/__init__.py

__version__ = (3, 0, 0)

def get_version():
    return '.'.join(map(str, __version__))

我对如何获取tvrenamr的选项的唯一想法是,find_packagesentry_points选项在某种程度上导入tvrenamr.py,因此导致options.py ??

所有版本的TvRenamr都使用python setup.py sdist upload上传到PyPI。

我真的很难过这个问题 - 任何帮助都非常感激!

编辑:我可以毫无错误地运行python setup.py egg_info

1 个答案:

答案 0 :(得分:1)

不幸的是,这是一个设置工具屏蔽setup.py中的错误的情况,该错误是由tvrenamr/__init__.py中的错误版本字符串引起的。

我使用python setup.py install手动安装到干净的virtualenv后,我发现了错误,所以我的环境中的某些东西也一定影响了事情。