尝试将Python应用程序部署到OpenShift中,BTW是我的第一个OpenShift部署。一切正常,但安装了一个在GitHub上托管的模块。我一直在尝试很多方法。有人可以帮我吗?提前谢谢了。看起来OpenShift Git版本(1.7.1)与我想要达到的目标不兼容。这是错误输出:
Obtaining django-filter from git+https://github.com/jpardobl/django-filter.git@8a3d092a99feaacea6b85c5ae5a987dc9ea970ab#egg=django_filter-dev (from -r /var/lib/openshift/515ebbc650044643fa00000d/app-root/repo/requirements.txt (line 1))
remote: Found command 'git' at '/usr/bin/git'
remote: Command /usr/bin/git config remote.origin.url failed with error code 1
remote: Exception information:
remote: Traceback (most recent call last):
remote: File "/var/lib/openshift/515ebbc650044643fa00000d/python-2.6/virtenv/lib/python2.6/site-packages/pip-1.0.2-py2.6.egg/pip/basecommand.py", line 126, in main
remote: self.run(options, args)
remote: File "/var/lib/openshift/515ebbc650044643fa00000d/python-2.6/virtenv/lib/python2.6/site-packages/pip-1.0.2-py2.6.egg/pip/commands/install.py", line 223, in run
remote: requirement_set.prepare_files(finder, force_root_egg_info=self.bundle, bundle=self.bundle)
remote: File "/var/lib/openshift/515ebbc650044643fa00000d/python-2.6/virtenv/lib/python2.6/site-packages/pip-1.0.2-py2.6.egg/pip/req.py", line 936, in prepare_files
remote: req_to_install.update_editable(not self.is_download)
remote: File "/var/lib/openshift/515ebbc650044643fa00000d/python-2.6/virtenv/lib/python2.6/site-packages/pip-1.0.2-py2.6.egg/pip/req.py", line 384, in update_editable
remote: vcs_backend.obtain(self.source_dir)
remote: File "/var/lib/openshift/515ebbc650044643fa00000d/python-2.6/virtenv/lib/python2.6/site-packages/pip-1.0.2-py2.6.egg/pip/vcs/git.py", line 104, in obtain
remote: if self.check_destination(dest, url, rev_options, rev_display):
remote: File "/var/lib/openshift/515ebbc650044643fa00000d/python-2.6/virtenv/lib/python2.6/site-packages/pip-1.0.2-py2.6.egg/pip/vcs/__init__.py", line 183, in check_destination
remote: existing_url = self.get_url(dest)
remote: File "/var/lib/openshift/515ebbc650044643fa00000d/python-2.6/virtenv/lib/python2.6/site-packages/pip-1.0.2-py2.6.egg/pip/vcs/git.py", line 116, in get_url
remote: show_stdout=False, cwd=location)
remote: File "/var/lib/openshift/515ebbc650044643fa00000d/python-2.6/virtenv/lib/python2.6/site-packages/pip-1.0.2-py2.6.egg/pip/__init__.py", line 255, in call_subprocess
remote: % (command_desc, proc.returncode))
remote: InstallationError: Command /usr/bin/git config remote.origin.url failed with error code 1
remote:
remote: Storing complete log in /var/lib/openshift/515ebbc650044643fa00000d/.pip/pip.log
remote: Traceback (most recent call last):
remote: File "/var/lib/openshift/515ebbc650044643fa00000d/python-2.6/virtenv/bin/pip", line 9, in <module>
remote: load_entry_point('pip==1.0.2', 'console_scripts', 'pip')()
remote: File "/var/lib/openshift/515ebbc650044643fa00000d/python-2.6/virtenv/lib/python2.6/site-packages/pip-1.0.2-py2.6.egg/pip/__init__.py", line 116, in main
remote: return command.main(initial_args, args[1:], options)
remote: File "/var/lib/openshift/515ebbc650044643fa00000d/python-2.6/virtenv/lib/python2.6/site-packages/pip-1.0.2-py2.6.egg/pip/basecommand.py", line 151, in main
remote: log_fp = open_logfile(log_fn, 'w')
remote: File "/var/lib/openshift/515ebbc650044643fa00000d/python-2.6/virtenv/lib/python2.6/site-packages/pip-1.0.2-py2.6.egg/pip/basecommand.py", line 177, in open_logfile
remote: os.makedirs(dirname)
remote: File "/usr/lib64/python2.6/os.py", line 157, in makedirs
remote: mkdir(name, mode)
remote: OSError: [Errno 13] Permission denied: '/var/lib/openshift/515ebbc650044643fa00000d/.pip'
remote: Running .openshift/action_hooks/build
remote: Obtaining django-filter from git+https://github.com/jpardobl/django-filter.git@8a3d092a99feaacea6b85c5ae5a987dc9ea970ab#egg=django_filter-dev (from -r /var/lib/openshift/515ebbc650044643fa00000d/app-root/repo/requirements.txt (line 1))
remote: Found command 'git' at '/usr/bin/git'
remote: Command /usr/bin/git config remote.origin.url failed with error code 1
remote: Exception information:
remote: Traceback (most recent call last):
remote: File "/var/lib/openshift/515ebbc650044643fa00000d/python-2.6/virtenv/lib/python2.6/site-packages/pip-1.0.2-py2.6.egg/pip/basecommand.py", line 126, in main
remote: self.run(options, args)
remote: File "/var/lib/openshift/515ebbc650044643fa00000d/python-2.6/virtenv/lib/python2.6/site-packages/pip-1.0.2-py2.6.egg/pip/commands/install.py", line 223, in run
remote: requirement_set.prepare_files(finder, force_root_egg_info=self.bundle, bundle=self.bundle)
remote: File "/var/lib/openshift/515ebbc650044643fa00000d/python-2.6/virtenv/lib/python2.6/site-packages/pip-1.0.2-py2.6.egg/pip/req.py", line 936, in prepare_files
remote: req_to_install.update_editable(not self.is_download)
remote: File "/var/lib/openshift/515ebbc650044643fa00000d/python-2.6/virtenv/lib/python2.6/site-packages/pip-1.0.2-py2.6.egg/pip/req.py", line 384, in update_editable
remote: vcs_backend.obtain(self.source_dir)
remote: File "/var/lib/openshift/515ebbc650044643fa00000d/python-2.6/virtenv/lib/python2.6/site-packages/pip-1.0.2-py2.6.egg/pip/vcs/git.py", line 104, in obtain
remote: if self.check_destination(dest, url, rev_options, rev_display):
remote: File "/var/lib/openshift/515ebbc650044643fa00000d/python-2.6/virtenv/lib/python2.6/site-packages/pip-1.0.2-py2.6.egg/pip/vcs/__init__.py", line 183, in check_destination
remote: existing_url = self.get_url(dest)
remote: File "/var/lib/openshift/515ebbc650044643fa00000d/python-2.6/virtenv/lib/python2.6/site-packages/pip-1.0.2-py2.6.egg/pip/vcs/git.py", line 116, in get_url
remote: show_stdout=False, cwd=location)
remote: File "/var/lib/openshift/515ebbc650044643fa00000d/python-2.6/virtenv/lib/python2.6/site-packages/pip-1.0.2-py2.6.egg/pip/__init__.py", line 255, in call_subprocess
remote: % (command_desc, proc.returncode))
remote: InstallationError: Command /usr/bin/git config remote.origin.url failed with error code 1
关注我的setup.py文件
from setuptools import setup
setup(name='nautivel',
version='0.8.1',
description='OpenShift App',
author='Javier Pardo Blasco',
author_email='xxxxxxx',
url='http://jpardobl.com',
install_requires=(
'Django == 1.5',
'argparse == 1.2.1',
'distribute == 0.6.24',
'moment == 0.0.15', ), )
还有我的requirements.txt文件
-e git+https://github.com/jpardobl/django-filter.git@8a3d092a99feaacea6b85c5ae5a987dc9ea970ab#egg=django_filter-dev
最后是.openshift / action_hooks / build文件(尝试时不使用env变量来减少错误风险)
!/bin/bash
source /var/lib/openshift/515ebbc650044643fa00000d/python-2.6/virtenv/bin/activate
/var/lib/openshift/515ebbc650044643fa00000d/python-2.6/virtenv/bin/pip install -v -r /var/lib/openshift/515ebbc650044643fa00000d/app-root/repo/requirements.txt
答案 0 :(得分:1)
我没有使用setup.py来安装,而是使用了一种解决方法。我从构建操作挂钩安装模块,如下所示。
# .openshift/action_hooks/build
#!/bin/bash
MESSAGES_PATH=$HOME/python-2.6/virtenv/lib/python2.6/site-packages/django-messages-patch-src
git clone git://github.com/jpardobl/django-messages-patched.git $MESSAGES_PATH
ln -s $MESSAGES_PATH/django_messages $HOME/python-2.6/virtenv/lib/python2.6/site-packages/messages
就是这样!!!