我在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'
请帮忙吗?
答案 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