如何在Openshift上安装BeautifulSoup 4?

时间:2012-09-09 03:27:25

标签: beautifulsoup openshift

我在BeautifulSoup的python平台上运行openshift。我尝试在BeautifulSoup>=4.0文件的“install_requires”部分设置setup.py,但无法搜索BeautifulSoup 4,而是安装BeautifulSoup 3.2.1,但对于我的项目,我需要安装BeautifulSoup >= 4.0。那么如何安装最新的BeautifulSoup软件包?

这是我的setup.py`文件。

#!/usr/bin/env python

from setuptools import setup

setup(
    name='YourAppName',
    version='1.0',
    description='OpenShift App',
    author='Your Name',
    author_email='example@example.com',
    url='http://www.python.org/sigs/distutils-sig/',
    install_requires=['Django>=1.3', 'BeautifulSoup>=4.0', 'robotexclusionrulesparser',],
)

以下是错误:

remote: Installed /var/lib/stickshift/1b1a7d93656c4782a58fab6c6df2d226/python-2.6/virtenv
remote: Processing dependencies for YourAppName==1.0
remote: Searching for BeautifulSoup>=4.0
remote: Reading http://pypi.python.org/simple/BeautifulSoup/
remote: Reading http://www.crummy.com/software/BeautifulSoup/
remote: Reading http://www.crummy.com/software/BeautifulSoup/download/
remote: Reading http://www.crummy.com/software/BeautifulSoup/bs3/
remote: Reading http://www.crummy.com/software/BeautifulSoup/bs3/download/
remote: No local packages or download links found for BeautifulSoup>=4.0
remote: Best match: None
remote: Traceback (most recent call last):
remote:   File "/var/lib/stickshift/1b1a7d93656c4782a58fab6c6df2d226/app-root/runtime/repo/setup.py", line 12, in <module>
remote:     install_requires=['Django>=1.3', 'BeautifulSoup>=4.0', 'robotexclusionrulesparser',],
remote:   File "/usr/lib64/python2.6/distutils/core.py", line 152, in setup
remote:     dist.run_commands()
remote:   File "/usr/lib64/python2.6/distutils/dist.py", line 975, in run_commands
remote:     self.run_command(cmd)
remote:   File "/usr/lib64/python2.6/distutils/dist.py", line 995, in run_command
remote:     cmd_obj.run()
remote:   File "build/bdist.linux-i686/egg/setuptools/command/develop.py", line 27, in run
remote:   File "build/bdist.linux-i686/egg/setuptools/command/develop.py", line 102, in install_for_development
remote:   File "build/bdist.linux-i686/egg/setuptools/command/easy_install.py", line 519, in process_distribution
remote:     
remote:   File "build/bdist.linux-i686/egg/pkg_resources.py", line 563, in resolve
remote:     distributions, errors = working_set.find_plugins(
remote:   File "build/bdist.linux-i686/egg/pkg_resources.py", line 799, in best_match
remote:     
remote:   File "build/bdist.linux-i686/egg/pkg_resources.py", line 811, in obtain
remote:     raise TypeError("Can't add %r to environment" % (other,))
remote:   File "build/bdist.linux-i686/egg/setuptools/command/easy_install.py", line 434, in easy_install
remote:     
remote:   File "build/bdist.linux-i686/egg/setuptools/package_index.py", line 475, in fetch_distribution
remote: AttributeError: 'NoneType' object has no attribute 'clone'

请帮忙吗?

1 个答案:

答案 0 :(得分:3)

根据上游项目的文档,显然版本4.x需要通过pip安装的不同命名约定来引用。

http://www.crummy.com/software/BeautifulSoup/#Download

我设置了一个演示应用来测试并设置我的setup.py以包含以下内容:

来自setuptools导入设置

setup(name='YourAppName',
      version='1.0',
      description='OpenShift App',
      author='Your Name',
      author_email='example@example.com',
      url='http://www.python.org/sigs/distutils-sig/',
      install_requires=['Django>=1.3','beautifulsoup4'],
     )

然后git commit和push产生了以下片段。

remote: Searching for beautifulsoup4
remote: Reading http://pypi.python.org/simple/beautifulsoup4/remote: Reading http://www.crummy.com/software/BeautifulSoup/bs4/
remote: Reading http://www.crummy.com/software/BeautifulSoup/bs4/download/
remote: Best match: beautifulsoup4 4.1.3
remote: Downloading http://www.crummy.com/software/BeautifulSoup/bs4/download/beautifulsoup4-4.1.3.tar.gz
remote: Processing beautifulsoup4-4.1.3.tar.gz
remote: Running beautifulsoup4-4.1.3/setup.py -q bdist_egg --dist-dir /tmp/easy_install-JgA5HZ/beautifulsoup4-4.1.3/egg-dist-tmp-1vIJ2i