为什么从SVN安装python-couchdb实验分支的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/votersdaily/src/couchdb,但对于其他包,它总是会根据需要创建这个路径。
- 我可以以root用户和本地用户身份运行,但都失败了。
- 如果我手动创建这个目录,它会提示我说这个目录目前不是一个SVN仓库,并问我是否想要覆盖它。如果我把它删除了,它还是无法检出这个仓库。
- 我重新安装了pip并重新创建了virtualenv,但这个问题依然存在。
- 我可以在我的本地工作站(在virtualenv中)成功执行这个pip安装。
有什么建议吗?我知道这可能是某种库或权限冲突,但我就是找不到具体原因。
谢谢。
1 个回答
1
根据John Paulett的评论——你确实需要在服务器上安装Subversion,才能在服务器上执行它。
如果可以的话,我希望这个蛋能冷着送到我脸上。