1

我正在尝试将我的 python 项目设置到我的本地 Fedora 16 机器上。我已经使用 git 克隆了整个项目。

项目使用redis服务器。

输入命令后:python setup.py develop 我得到以下错误

Installed /usr/lib/python2.7/site-packages/python_redis_log-0.1.2-py2.7.egg
error: Could not find required distribution python-redis-log>=9999

我已经安装了 redis 2.7

有人知道这里有什么问题吗?高度赞赏帮助。

画中画冻结

tawlk]# pip freeze
IPy==0.75
Magic-file-extensions==0.2
Paste==1.7.5.1
PyYAML==3.10
SSSDConfig==1
Tempita==0.4
chardet==2.0.1
cupshelpers==1.0
decorator==3.3.2
distribute==0.6.24
ethtool==0.7
eventlet==0.9.17
firstboot==1.117
gps==2.95
greenlet==0.4.0
iniparse==0.4
iwlib==1.1
kitchen==1.0.0
-e git+https://github.com/Tawlk/kral.git@d1b8aacc3a2fa8c80049c392014842ed2f547f0d#egg=kral-dev
liveusb-creator==3.11.4
lockfile==0.9.1
lxml==3.0.1
nltk==2.0.4
numpy==1.6.2
policycoreutils-default-encoding==0.1
pyOpenSSL==0.12
pycryptsetup==0.1.4
pycups==1.9.59
pycurl==7.19.0
pygpgme==0.1
pykickstart==1.99.4
pyparted==3.8
python-bugzilla==0.6.2
python-meh==0.11
python-nss==0.12
python-redis-log==0.1.2
python-redis-logger==0.1.3
redis==2.7.2
scdate==1.9.67
scservices==0.101.7
scservices.dbus==0.101.7
sesearch==1.0
setools==1.0
setroubleshoot-default-encoding==0.1
simplejson==2.1.6
slip==0.2.17
slip.dbus==0.2.17
slip.gtk==0.2.17
sockjs-tornado==0.0.5
spambayes==1.1a6
stevedore==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-dev
tornado==2.4.1
urlgrabber==3.9.1
virtualenv==1.8.4
virtualenv-clone==0.2.4
virtualenvwrapper==3.6
wsgiref==0.1.2
yolk==0.4.3
yum-langpacks==0.2.2
yum-metadata-parser==1.1.4
yum-presto==0.4.4

谢谢,

4

3 回答 3

1

如果我有足够的声望点,我会发表评论。

error: Could not find required distribution python-redis-log>=9999

这表明它正在尝试python-redis-log使用至少9999. 当前安装的版本是0.1.2.

请粘贴您的“需要”部分setup.py或定义依赖项的任何位置。

于 2012-12-14T09:23:07.097 回答
1

如果你想保持一个干净的 Python 环境而不是一直处理冲突,我总是建议使用virtualenv 。该程序允许您创建一个单独的 Python 环境,您可以在该环境中安装软件包,并且它们不会与您的发行版中包含的软件包发生冲突。

这可能无法解决您的问题>=9999,但它是一个很好的了解工具。我建议你尝试制作一个 virtualenv,看看你是否遇到同样的问题。

于 2012-12-15T17:04:08.573 回答
1

问题是 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

那应该可以解决问题。

于 2012-12-15T17:26:01.013 回答