Почему PIP-установка экспериментальной ветви python-couchdb из SVN завершается неудачей?
-
08-07-2019 - |
Вопрос
Я настраиваю автоматизированное развертывание 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, и ошибка воспроизведена.
- Я могу успешно выполнить эту установку pip на своей локальной рабочей станции (в virtualenv).
Предложения?Я знаю, что это, должно быть, какой-то конфликт библиотек или разрешений, но, похоже, я не могу точно определить это,
Спасибо.
Решение
Согласно комментарию Джона Полетта - у вас действительно должна быть установлена subversion на сервере, чтобы выполнить ее на сервере.
Я бы хотел, чтобы яйцо было подано к моему лицу охлажденным, если это возможно.
Не связан с StackOverflow