I am running BeautifulSoup on python platform on openshift. I tried to set the BeautifulSoup>=4.0 in the “install_requires” section in the setup.py file, but it can not search for BeautifulSoup 4, rather it install BeautifulSoup 3.2.1, but for my project I need to install BeautifulSoup >= 4.0. So how to get the latest package of BeautifulSoup installed?
Here is my setup.py` file looks.
#!/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',],
)
Here is the error looks like:
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'
Any help please?
As per the upstream project’s documentation apparently version 4.x needs to be referenced via a different naming convention for pip installs.
http://www.crummy.com/software/BeautifulSoup/#Download
I setup a demo app to test and set my setup.py to contain the following:
from setuptools import setup
Then a git commit and push resulted in the following snippet.