为什么从SVN安装python-couchdb实验分支的PIP失败?

时间:2009-11-29 16:25:55

标签: python deployment virtualenv fabric pip

我正在为项目设置Fabric / virtualenv / pip自动部署,我需要安装python-couchdb的最新实验分支。当然,我将它粘贴在我的pip需求文件中,如下所示:

-e svn+http://couchdb-python.googlecode.com/svn/branches/experimental/httplib@195#egg=CouchDB-dev_r195

但是,当我运行部署时,我收到以下错误和回溯:

[192.168.1.200] out: Obtaining CouchDB from svn+http://couchdb-python.googlecode.com/svn/branches/experimental/httplib/#egg=CouchDB (from -r requirements.txt (line 1))
[192.168.1.200] out:   Checking out http://couchdb-python.googlecode.com/svn/branches/experimental/httplib/ to ./src/couchdb
[192.168.1.200] out:   Error [Errno 2] No such file or directory while executing command svn checkout -q http://couchdb-python.googlecode.com/svn/branches/experimental/httplib/ /home/sk/votersdaily/src/couchdb
[192.168.1.200] out: Exception:
[192.168.1.200] out: Traceback (most recent call last):
[192.168.1.200] out:   File "/usr/local/lib/python2.6/dist-packages/pip-0.6.1-py2.6.egg/pip.py", line 482, in main
[192.168.1.200] out:     self.run(options, args)
[192.168.1.200] out:   File "/usr/local/lib/python2.6/dist-packages/pip-0.6.1-py2.6.egg/pip.py", line 675, in run
[192.168.1.200] out:     requirement_set.install_files(finder, force_root_egg_info=self.bundle)
[192.168.1.200] out:   File "/usr/local/lib/python2.6/dist-packages/pip-0.6.1-py2.6.egg/pip.py", line 2409, in install_files
[192.168.1.200] out:     req_to_install.update_editable(not self.is_download)
[192.168.1.200] out:   File "/usr/local/lib/python2.6/dist-packages/pip-0.6.1-py2.6.egg/pip.py", line 1970, in update_editable
[192.168.1.200] out:     vcs_backend.obtain(self.source_dir)
[192.168.1.200] out:   File "/usr/local/lib/python2.6/dist-packages/pip-0.6.1-py2.6.egg/pip.py", line 3420, in obtain
[192.168.1.200] out:     ['svn', 'checkout', '-q'] + rev_options + [url, dest])
[192.168.1.200] out:   File "/usr/local/lib/python2.6/dist-packages/pip-0.6.1-py2.6.egg/pip.py", line 4320, in call_subprocess
[192.168.1.200] out:     cwd=cwd, env=env)
[192.168.1.200] out:   File "/usr/lib/python2.6/subprocess.py", line 621, in __init__
[192.168.1.200] out:     errread, errwrite)
[192.168.1.200] out:   File "/usr/lib/python2.6/subprocess.py", line 1126, in _execute_child
[192.168.1.200] out:     raise child_exception
[192.168.1.200] out: OSError: [Errno 2] No such file or directory

以下是我所知道的:

  • 错误与找不到setup.py有关,因为永远不会下载文件。它似乎拒绝创建路径/ home / sk / votesdaily / src / couchdb,但对于其他包,它总是根据需要创建此路径。
  • 我既可以作为root用户也可以作为本地用户运行,但它也会失败。
  • 如果我手动创建目录,那么它会提示一个提示,告诉我该目录当前不是SVN repo,并询问我是否要覆盖它。如果我把它擦掉,它仍然不会检查回购。
  • 我重新安装了pip并重新创建了virtualenv并重现了该错误。
  • 我可以在我的本地工作站(在virtualenv中)成功执行此pip安装。

连连呢?我知道这肯定是某种类型的库或权限冲突,但我似乎无法将其压低,

感谢。

1 个答案:

答案 0 :(得分:1)

根据John Paulett的评论 - 你必须确实在服务器上安装了subversion才能在服务器上执行它。

如果可能的话,我希望将鸡蛋冷却到我的脸上。