我试图将我的python项目设置到我的本地fedora 16机器上。我已经使用git克隆了整个项目。
项目用于redis服务器。
输入命令后:python setup.py development我收到以下错误
Installed/usr/lib/python2.7/site-packages/python_redis_log-0.1.2-py2.7.eggerror:Couldnotfind required distribution python-redis-log>=9999
我已经安装了Redis 2.7
有人知道这是什么问题吗?非常感谢您的帮助。
画中画冻结
tawlk]#pip freezeIPy==0.75Magic-file-extensions==0.2Paste==1.7.5.1PyYAML==3.10SSSDConfig==1Tempita==0.4chardet==2.0.1cupshelpers==1.0decorator==3.3.2distribute==0.6.24ethtool==0.7eventlet==0.9.17firstboot==1.117gps==2.95greenlet==0.4.0iniparse==0.4iwlib==1.1kitchen==1.0.0-e git+https://github.com/Tawlk/kral.git@d1b8aacc3a2fa8c80049c392014842ed2f547f0d#egg=kral-devliveusb-creator==3.11.4lockfile==0.9.1lxml==3.0.1nltk==2.0.4numpy==1.6.2policycoreutils-default-encoding==0.1pyOpenSSL==0.12pycryptsetup==0.1.4pycups==1.9.59pycurl==7.19.0pygpgme==0.1pykickstart==1.99.4pyparted==3.8python-bugzilla==0.6.2python-meh==0.11python-nss==0.12python-redis-log==0.1.2python-redis-logger==0.1.3redis==2.7.2scdate==1.9.67scservices==0.101.7scservices.dbus==0.101.7sesearch==1.0setools==1.0setroubleshoot-default-encoding==0.1simplejson==2.1.6slip==0.2.17slip.dbus==0.2.17slip.gtk==0.2.17sockjs-tornado==0.0.5spambayes==1.1a6stevedore==0.7.2-e git+https://github.com/Tawlk/synt.git@570cfcdedbc9734489ee737eb5f95de73a494ab6#egg=synt-dev-e git+https://github.com/Tawlk/tawlk.git@bd420f7a4cc33a58d3d3ecf9342ab650dd810b5e#egg=tawlk-devtornado==2.4.1urlgrabber==3.9.1virtualenv==1.8.4virtualenv-clone==0.2.4virtualenvwrapper==3.6wsgiref==0.1.2yolk==0.4.3yum-langpacks==0.2.2yum-metadata-parser==1.1.4yum-presto==0.4.4
谢谢,
解决方案
问题是setuptools正在寻找具有至少指定版本号的必需软件包。9999大于2.7.2,因此它尝试下载setup.py文件中指定的版本。
install_requires关键字的官方文档在这里
The simplest way to include requirement specifiers is to use the install_requires argument to setup(). It takes a string or list of strings containing requirement specifiers. If you include more than one requirement in a string, each requirement must begin on a new line.
这里描述了需求说明符:
setuptools and pkg_resources use a common syntax for specifying a project’s required dependencies. This syntax consists of a project’s PyPI name, optionally followed by a comma-separated list of “extras” in square brackets, optionally followed by a comma-separated list of version specifiers. A version specifier is one of the operators , <=, >=, == or !=, followed by a version identifier. Tokens may be separated by whitespace, but any whitespace or nonstandard characters within a project name or version identifier must be replaced with -.
要特别解决您的问题:
您的setup.py文件具有
install_requires=[...'python-redis-log>=9999'
您拥有的版本说明符是python-redis-log>=9999,因此您的项目要求的python-redis-log版本号为9999或更高。
如果您将该行更改为
python-redis-log>=0.1.2
那应该解决问题。