2010-07-20 126 views
2

得到这个我认为会在virtualenv上运行的django项目。我安装的virtualenv通过PIP安装和创建ENV但是当我尝试喂点子需求文件,我得到这个:Django,PIP和Virtualenv

Directory 'tagging' is not installable. File 'setup.py' not found. 
Storing complete log in /Users/XXXX/.pip/pip.log 

下面是在日志文件中的条目:

------------------------------------------------------------ 
/Users/XXXX/Sites/SampleProject/bin/pip run on Wed Jul 21 06:35:02 2010 
Directory 'tagging' is not installable. File 'setup.py' not found. 
Exception information: 
Traceback (most recent call last): 
    File "/Users/XXXX/Sites/SampleProject/lib/python2.6/site-packages/pip-0.7.2-py2.6.egg/pip/basecommand.py", line 120, in main 
    self.run(options, args) 
    File "/Users/XXXX/Sites/SampleProject/lib/python2.6/site-packages/pip-0.7.2-py2.6.egg/pip/commands/install.py", line 158, in run 
    for req in parse_requirements(filename, finder=finder, options=options): 
    File "/Users/XXXX/Sites/SampleProject/lib/python2.6/site-packages/pip-0.7.2-py2.6.egg/pip/req.py", line 1395, in parse_requirements 
    req = InstallRequirement.from_line(line, comes_from) 
    File "/Users/XXXX/Sites/SampleProject/lib/python2.6/site-packages/pip-0.7.2-py2.6.egg/pip/req.py", line 87, in from_line 
    % name) 
InstallationError: Directory 'tagging' is not installable. File 'setup.py' not found. 

而且,这里的我试图提供的要求文件:

# to use: 
# mkvirtualenv %PROJECT% (or workon %PROJECT%) 
# export PIP_RESPECT_VIRTUALENV=true 
# pip install -r requirements.txt 

# you'll also need: 
# mongodb1.1.4 
# imagemagick > 6.3.8 


# -e svn+http://code.djangoproject.com/svn/django/trunk#egg=djangoipython 
ipdb 
PIL 
django-extensions 
django-debug-toolbar 
pytz 
tagging 

它可能是PIP的问题吗?我已经通过easy_install安装了它,并且已经使用它来安装一些模块,比如fabric等,没有任何问题。

希望有人可以伸出援手:)顺便说一下,这是我的本地设置:OSX 10.6.4,Python 2.6.1,Django 1.3 alpha。谢谢!

回答

1

您可能从django-tagging源代码中的location中复制了“标记”目录吗?在这种情况下,你实际上需要从这个location的根目录,它具有“标记”作为一个子目录和一个setup.py文件。只需从trunk中签出或解压缩到“django-tagging”目录,并确保您的需求文件指向“django-tagging”目录。

3

听起来好像你在你运行pip的目录中有一个标记/目录,pip认为这个目录(而不是PyPI上的django-tagging项目)就是你想要安装的目录。但是该目录中没有setup.py,所以pip不知道如何安装它。

如果您想从PyPI安装的项目名称实际上是“标记”,您需要移动或重命名标记/目录,否则从其他目录运行pip。但事实并非如此;它实际上是django-tagging:http://pypi.python.org/pypi/django-tagging所以如果你只是将你的需求文件中的条目从“标记”改为“django-tagging”,它应该可以工作。

所有这些都是pip中的一个错误,它应该假定某些东西是PyPI项目名称而不是本地目录,除非您给出的名称中包含实际的斜线或附加到它。