我正在尝试使用常规命令pip install tvrenamr
通过Pip和PyPI安装我自己的程序,但是出现以下错误:
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 = '[email protected]',
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_packages
或entry_points
选项以某种方式导入tvrenamr.py
从而导入options.py
?TvRenamr的所有版本均使用
python setup.py sdist upload
上传到PyPI。我真的为这个问题感到困惑-任何帮助深表感谢!
编辑:我可以运行
python setup.py egg_info
没有错误。 最佳答案
不幸的是,这是安装工具掩盖setup.py中的错误的情况,该错误是由tvrenamr/__init__.py
中的错误版本字符串引起的。
在使用python setup.py install
手动安装到干净的virtualenv中后,我发现了该错误,因此环境中的某些内容之前也一定已经影响了这些内容。