I am trying to install django-extensions to visualize my models in my Django rest project. Complete stacktrace:
(vb_env_drf) D:\Development\Bern\VB_rewrite\VB_DRF_Backend>pip install django-extensions
Collecting django-extensions
Using cached https://files.pythonhosted.org/packages/d4/b5/f141b351b49db2cb4c855cd8adbdb98cc49f3944a924ddfe51790bb46402/django_extensions-2.0.7-py2.py3-none-any.whl
Requirement already satisfied: six>=1.2 in d:\development\bern\vb_rewrite\vb_env_drf\lib\site-packages (from django-extensions) (1.11.0)
Requirement already satisfied: typing; python_version < "3.5" in d:\development\bern\vb_rewrite\vb_env_drf\lib\site-packages (from django-extensions) (3.6.4)
Installing collected packages: django-extensions
Successfully installed django-extensions-2.0.7
You are using pip version 10.0.0, however version 10.0.1 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' command.
(vb_env_drf) D:\Development\Bern\VB_rewrite\VB_DRF_Backend>python manage.py graph_models -a -o myapp_models.png
CommandError: Neither pygraphviz nor pydotplus could be found to generate the image
(vb_env_drf) D:\Development\Bern\VB_rewrite\VB_DRF_Backend>pip install pyparsing
Collecting pyparsing
Using cached https://files.pythonhosted.org/packages/6a/8a/718fd7d3458f9fab8e67186b00abdd345b639976bc7fb3ae722e1b026a50/pyparsing-2.2.0-py2.py3-none-any.whl
Installing collected packages: pyparsing
Successfully installed pyparsing-2.2.0
You are using pip version 10.0.0, however version 10.0.1 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' command.
(vb_env_drf) D:\Development\Bern\VB_rewrite\VB_DRF_Backend>pip install pydot
Collecting pydot
Requirement already satisfied: pyparsing>=2.1.4 in d:\development\bern\vb_rewrite\vb_env_drf\lib\site-packages (from pydot) (2.2.0)
Installing collected packages: pydot
Successfully installed pydot-1.2.4
You are using pip version 10.0.0, however version 10.0.1 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' command.
(vb_env_drf) D:\Development\Bern\VB_rewrite\VB_DRF_Backend>python manage.py graph_models -a -o myapp_models.png
Traceback (most recent call last):
File "manage.py", line 22, in <module>
execute_from_command_line(sys.argv)
File "D:\Development\Bern\VB_rewrite\vb_env_drf\lib\site-packages\django\core\management\__init__.py", line 364, in execute_from_command_line
utility.execute()
File "D:\Development\Bern\VB_rewrite\vb_env_drf\lib\site-packages\django\core\management\__init__.py", line 356, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "D:\Development\Bern\VB_rewrite\vb_env_drf\lib\site-packages\django\core\management\base.py", line 283, in run_from_argv
self.execute(*args, **cmd_options)
File "D:\Development\Bern\VB_rewrite\vb_env_drf\lib\site-packages\django\core\management\base.py", line 330, in execute
output = self.handle(*args, **options)
File "D:\Development\Bern\VB_rewrite\vb_env_drf\lib\site-packages\django_extensions\management\utils.py", line 59, in inner
ret = func(self, *args, **kwargs)
File "D:\Development\Bern\VB_rewrite\vb_env_drf\lib\site-packages\django_extensions\management\commands\graph_models.py", line 168, in handle
self.render_output_pydot(dotdata, **options)
File "D:\Development\Bern\VB_rewrite\vb_env_drf\lib\site-packages\django_extensions\management\commands\graph_models.py", line 230, in render_output_pydot
graph.write(output_file, format=format)
File "D:\Development\Bern\VB_rewrite\vb_env_drf\lib\site-packages\pydot.py", line 1756, in write
s = self.create(prog, format, encoding=encoding)
File "D:\Development\Bern\VB_rewrite\vb_env_drf\lib\site-packages\pydot.py", line 1867, in create
raise OSError(*args)
OSError: [Errno 2] "dot.exe" not found in path.
(vb_env_drf) D:\Development\Bern\VB_rewrite\VB_DRF_Backend>
I have added django_extensions in my settings also,
GRAPH_MODELS = {
'all_applications': True,
'group_models': True,
}
My requirements.ts looks like following:
Django==1.11.12
djangorestframework==3.8.2
django-cors-headers==2.2.0
drfdocs==0.0.11
mysql-python==1.2.5
django-rest-auth==0.9.3
django-allauth==0.35.0
nltk==3.2.5
django-extensions==2.0.7
pyparsing==2.2.0
pydot==1.2.4
I am on Windows 10. How do I resolve this error? Do I need to add anything in my Windows path?Or for Django rest I need other library (https://github.com/chibisov/drf-extensions)
dot.exe is a graphviz executable, which is not found in the search paths.
Have you installed graphviz and its dependencies?
If yes, are they in the search path of windows?
Related
I'm trying to install tensorflow 1.14.0 on my Ubuntu (20.04 LTS) machine.
I need the python version 2.7.
The cmd line I'm trying to execute is
$ sudo python2.7 -m pip install tensorflow==1.14.0
but it seems there is an issue with "grpcio". The output is the following one:
Collecting tensorflow==1.14.0
Using cached tensorflow-1.14.0-cp27-cp27mu-manylinux1_x86_64.whl (109.2 MB)
Collecting backports.weakref>=1.0rc1
Using cached backports.weakref-1.0.post1-py2.py3-none-any.whl (5.2 kB)
Requirement already satisfied: keras-preprocessing>=1.0.5 in /usr/local/lib/python2.7/dist-packages (from tensorflow==1.14.0) (1.1.2)
Requirement already satisfied: six>=1.10.0 in /usr/local/lib/python2.7/dist-packages (from tensorflow==1.14.0) (1.16.0)
Collecting gast>=0.2.0
Using cached gast-0.5.3.tar.gz (23 kB)
Collecting grpcio>=1.8.6
Using cached grpcio-1.41.1.tar.gz (21.2 MB)
ERROR: Command errored out with exit status 1:
command: /usr/bin/python2.7 -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-0d4Nnx/grpcio/setup.py'"'"'; __file__='"'"'/tmp/pip-install-0d4Nnx/grpcio/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-pip-egg-info-zkUeEF
cwd: /tmp/pip-install-0d4Nnx/grpcio/
Complete output (11 lines):
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/tmp/pip-install-0d4Nnx/grpcio/setup.py", line 256, in <module>
if check_linker_need_libatomic():
File "/tmp/pip-install-0d4Nnx/grpcio/setup.py", line 206, in check_linker_need_libatomic
stderr=PIPE)
File "/usr/lib/python2.7/subprocess.py", line 394, in __init__
errread, errwrite)
File "/usr/lib/python2.7/subprocess.py", line 1047, in _execute_child
raise child_exception
OSError: [Errno 2] No such file or directory
----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
I have already tried to upgrade pip (20.3.4) and setuptools (44.1.1).
I also tried to install grpcio from a repository by following this guide https://pypi.org/project/grpcio/, but I get the same error.
Do you have any suggestion?
Thank you!
I had the same exat issue as you, upgrading pip wouldn't work in my case either.
I was able to install tensorboard on my platform by installing an older version of grpcio (in my case pip install grpcio==1.20.1).
You will see some warnings on execution about some missing dynamic libraries which are ok for me, but you might want to try other grpcio version.
When i run command pip install django, on go daddy it gives me the following error:
I tried to copy django packages manually into the site-packages of go daddy. I copied it from my local machine. I removed all of them.(I don't know if there is something remaining or not. But i have checked it again) Can you please help with this?
DEPRECATION: Python 2.6 is no longer supported by the Python core team, please upgrade your Python. A future version of pip will drop support for Python 2.6
Collecting django
Using cached Django-1.11.3-py2.py3-none-any.whl
Requirement already satisfied: pytz in /usr/lib/python2.6/site-packages (from django)
Installing collected packages: django
Exception:
Traceback (most recent call last):
File "/home/lmtech123/.local/lib/python2.6/site-packages/pip/basecommand.py", line 215, in main
status = self.run(options, args)
File "/home/lmtech123/.local/lib/python2.6/site-packages/pip/commands/install.py", line 342, in run
prefix=options.prefix_path,
File "/home/lmtech123/.local/lib/python2.6/site-packages/pip/req/req_set.py", line 784, in install
**kwargs
File "/home/lmtech123/.local/lib/python2.6/site-packages/pip/req/req_install.py", line 851, in install
self.move_wheel_files(self.source_dir, root=root, prefix=prefix)
File "/home/lmtech123/.local/lib/python2.6/site-packages/pip/req/req_install.py", line 1064, in move_wheel_files
isolated=self.isolated,
File "/home/lmtech123/.local/lib/python2.6/site-packages/pip/wheel.py", line 345, in move_wheel_files
clobber(source, lib_dir, True)
File "/home/lmtech123/.local/lib/python2.6/site-packages/pip/wheel.py", line 316, in clobber
ensure_dir(destdir)
File "/home/lmtech123/.local/lib/python2.6/site-packages/pip/utils/__init__.py", line 83, in ensure_dir
os.makedirs(path)
File "/usr/lib64/python2.6/os.py", line 157, in makedirs
mkdir(name, mode)
OSError: [Errno 30] Read-only file system: '/usr/lib64/python2.6/site-packages/Django-1.11.3.dist-info'
The easy way is update to new version of Python3
sudo apt-get install python3
When i execute ipython in terminal i see following error
aman#ebex-MacBookPro:~/ipython_work$ ipython
Traceback (most recent call last):
File "/usr/local/bin/ipython", line 5, in <module>
from pkg_resources import load_entry_point
File "/usr/local/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 3141, in <module>
#_call_aside
File "/usr/local/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 3127, in _call_aside
f(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 3154, in _initialize_master_working_set
working_set = WorkingSet._build_master()
File "/usr/local/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 640, in _build_master
ws.require(__requires__)
File "/usr/local/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 941, in require
needed = self.resolve(parse_requirements(requirements))
File "/usr/local/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 828, in resolve
raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'pathlib2' distribution was not found and is required by ipython
Just before that i followed
$ git clone --recursive https://github.com/ipython/ipython.git
$ cd ipython
$ pip install -e ".[notebook]"
From the link [How to autosave ipython notebook]
http://stackoverflow.com/questions/21517296/how-to-autosave-ipython-notebook
I tried to uninstall and install using apt-get but its still not working and throwing missing distribution error.
I installed pathlib2 though
sudo pip install pathlib2
But again while accessing ipython
I see another error
pkg_resources.DistributionNotFound: The 'backports.shutil_get_terminal_size' distribution was not found and is required by ipython
You need install some packages manually as follows:
pip install pathlib2
pip install backports.shutil_get_terminal_size
pip install enum34
For me, I also had to pip install enum34 but otherwise int32bit's answer worked.
pip install pathlib2 backports.shutil_get_terminal_size enum34
I see the same error When i execute ipython interminal. The problem was solved by installing libraries about the exception.
I launched the Jupyter notebook from Anaconda "Environments" and the dos Windows open with all the launching packages in issues appearing.
Then I just had to install packages missing and mentioned in this window in your environment one by one. You can retry the same process as many times as needed.
Running yolk -U recently I noticed that pip needed upgrading from 1.2.1 to 1.4.1 and dutifully attempted to upgrade it with
pip install --upgrade pip
Though running yolk -U again appeared to confirm a successful upgrade (pip is no longer listed as being out of date), this generated an error message
Downloading/unpacking pip from https://pypi.python.org/packages/source/p/pip/pip-1.4.1.tar.gz#md5=6afbb46aeb48abac658d4df742bff714
Downloading pip-1.4.1.tar.gz (445kB): 445kB downloaded
Running setup.py egg_info for package pip
warning: no files found matching '*.html' under directory 'docs'
warning: no previously-included files matching '*.rst' found under directory 'docs/_build'
no previously-included directories found matching 'docs/_build/_sources'
Installing collected packages: pip
Found existing installation: pip 1.2.1
Uninstalling pip:
Exception:
Traceback (most recent call last):
File "/Library/Python/2.7/site-packages/pip-1.2.1-py2.7.egg/pip/basecommand.py", line 107, in main
File "/Library/Python/2.7/site-packages/pip-1.2.1-py2.7.egg/pip/commands/install.py", line 261, in run
File "/Library/Python/2.7/site-packages/pip-1.2.1-py2.7.egg/pip/req.py", line 1162, in install
File "/Library/Python/2.7/site-packages/pip-1.2.1-py2.7.egg/pip/req.py", line 495, in uninstall
File "/Library/Python/2.7/site-packages/pip-1.2.1-py2.7.egg/pip/req.py", line 1492, in remove
File "/Library/Python/2.7/site-packages/pip-1.2.1-py2.7.egg/pip/util.py", line 273, in renames
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 299, in move
os.unlink(src)
OSError: [Errno 13] Permission denied: '/usr/local/bin/pip'
And on all my subsequent attempts to use pip do as well:
Traceback (most recent call last):
File "/usr/local/bin/pip", line 5, in <module>
from pkg_resources import load_entry_point
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources.py", line 2603, in <module>
line, p, specs = scan_list(VERSION,LINE_END,line,p,(1,2),"version spec")
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources.py", line 666, in require
continue # try the next older version of project
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources.py", line 565, in resolve
pkg_resources.DistributionNotFound: pip==1.2.1
I see that similar problems have been reported before, but none of the suggestions I see help resolve this.
I'm stuck, and can't maintain my Python installation.
I'm using OS 10.8.4, Python 2.7.2 in /usr/bin/python.
According to this line:
OSError: [Errno 13] Permission denied: '/usr/local/bin/pip'
It seems like a *nix permission issue, try to launch the upgrade using sudo:
sudo pip install --upgrade pip
On a side note, I'd recommend using this upgrade method: http://www.pip-installer.org/en/latest/installing.html#install-or-upgrade-pip
tl;dr version (thanks to the information given by OP ;)):
1.Download and laucnh get-pip.py from http://www.pip-installer.org/en/latest/installing.html#install-or-upgrade-pip
2.If you get an error about "invalid command 'egg_info'", you'll need to upgrade setup tools using pip install --upgrade setuptools or easy_install -U
Okay I recently upgraded from Ubuntu 10.04 to 12.04
Only to be faced by a lot of problems. I am a newbie at this so you might have to tell me in a little more detail or step-by-step
I had a django project that was working perfectly but now it gives me this error :
File "/usr/local/lib/python2.7/site-packages/django/db/backends/mysql/base.py", line 16, in <module>
raise ImproperlyConfigured("Error loading MySQLdb module: %s" % e) django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: libmysqlclient_r.so.16: cannot open shared object file: No such file or directory
or in python :
>>> import MySQLdb
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "build/bdist.linux-i686/egg/MySQLdb/__init__.py", line 19, in <module>
File "build/bdist.linux-i686/egg/_mysql.py", line 7, in <module>
File "build/bdist.linux-i686/egg/_mysql.py", line 6, in __bootstrap__
ImportError: libmysqlclient_r.so.16: cannot open shared object file: No such file or directory
Anyways I thought there was some problem with my MySQL-python so I tried re-installing it.
sudo pip install mysql-python
gives :
Downloading/unpacking mysql-python
Running setup.py egg_info for package mysql-python
The required version of distribute (>=0.6.28) is not available,
and can't be installed while this script is running. Please
install a more recent version first, using
'easy_install -U distribute'.
(Currently using distribute 0.6.24dev-r0 (/usr/lib/python2.7/dist-packages))
Complete output from command python setup.py egg_info:
The required version of distribute (>=0.6.28) is not available,
and can't be installed while this script is running. Please
install a more recent version first, using
'easy_install -U distribute'.
(Currently using distribute 0.6.24dev-r0 (/usr/lib/python2.7/dist-packages))
----------------------------------------
Command python setup.py egg_info failed with error code 2 in /tmp/pip-build/mysql-python
Storing complete log in /home/nabeel/.pip/pip.log
If I do :
sudo easy_install -U distribute
It gives this error :
Searching for distribute
Reading http://pypi.python.org/simple/distribute/
Reading http://packages.python.org/distribute
Best match: distribute 0.6.29
Downloading http://pypi.python.org/packages/source/d/distribute/distribute-0.6.29.tar.gz#md5=1aad767bfca8bebaccafee25f85696cf
Processing distribute-0.6.29.tar.gz
Running distribute-0.6.29/setup.py -q bdist_egg --dist-dir /tmp/easy_install-K8ZuMX/distribute-0.6.29/egg-dist-tmp-Fj0gj_
Before install bootstrap.
Scanning installed packages
Setuptools installation detected at /usr/local/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg
Egg installation
Patching...
Renaming /usr/local/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg to /usr/local/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg.OLD.1350776909.4
Patching complete.
Relaunching...
Traceback (most recent call last):
File "/usr/local/bin/easy_install", line 9, in <module>
load_entry_point('distribute==0.6.8', 'console_scripts', 'easy_install')()
File "/usr/local/lib/python2.7/site-packages/distribute-0.6.8-py2.7.egg/setuptools/command/easy_install.py", line 1708, in main
with_ei_usage(lambda:
File "/usr/local/lib/python2.7/site-packages/distribute-0.6.8-py2.7.egg/setuptools/command/easy_install.py", line 1696, in with_ei_usage
return f()
File "/usr/local/lib/python2.7/site-packages/distribute-0.6.8-py2.7.egg/setuptools/command/easy_install.py", line 1712, in <lambda>
distclass=DistributionWithoutHelpCommands, **kw
File "/usr/local/lib/python2.7/distutils/core.py", line 152, in setup
dist.run_commands()
File "/usr/local/lib/python2.7/distutils/dist.py", line 953, in run_commands
self.run_command(cmd)
File "/usr/local/lib/python2.7/distutils/dist.py", line 972, in run_command
cmd_obj.run()
File "/usr/local/lib/python2.7/site-packages/distribute-0.6.8-py2.7.egg/setuptools/command/easy_install.py", line 236, in run
self.easy_install(spec, not self.no_deps)
File "/usr/local/lib/python2.7/site-packages/distribute-0.6.8-py2.7.egg/setuptools/command/easy_install.py", line 471, in easy_install
return self.install_item(spec, dist.location, tmpdir, deps)
File "/usr/local/lib/python2.7/site-packages/distribute-0.6.8-py2.7.egg/setuptools/command/easy_install.py", line 501, in install_item
dists = self.install_eggs(spec, download, tmpdir)
File "/usr/local/lib/python2.7/site-packages/distribute-0.6.8-py2.7.egg/setuptools/command/easy_install.py", line 680, in install_eggs
return self.build_and_install(setup_script, setup_base)
File "/usr/local/lib/python2.7/site-packages/distribute-0.6.8-py2.7.egg/setuptools/command/easy_install.py", line 957, in build_and_install
self.run_setup(setup_script, setup_base, args)
File "/usr/local/lib/python2.7/site-packages/distribute-0.6.8-py2.7.egg/setuptools/command/easy_install.py", line 946, in run_setup
run_setup(setup_script, args)
File "/usr/local/lib/python2.7/site-packages/distribute-0.6.8-py2.7.egg/setuptools/sandbox.py", line 29, in run_setup
lambda: execfile(
File "/usr/local/lib/python2.7/site-packages/distribute-0.6.8-py2.7.egg/setuptools/sandbox.py", line 70, in run
return func()
File "/usr/local/lib/python2.7/site-packages/distribute-0.6.8-py2.7.egg/setuptools/sandbox.py", line 31, in <lambda>
{'__file__':setup_script, '__name__':'__main__'}
File "setup.py", line 131, in <module>
File "/tmp/easy_install-K8ZuMX/distribute-0.6.29/distribute_setup.py", line 368, in _before_install
File "/tmp/easy_install-K8ZuMX/distribute-0.6.29/distribute_setup.py", line 441, in _fake_setuptools
File "/tmp/easy_install-K8ZuMX/distribute-0.6.29/distribute_setup.py", line 450, in _relaunch
NameError: global name '_cmd1' is not defined
Again now I have gone to this link :
http://pypi.python.org/pypi/setuptools/0.6c11
to download and install setuptools..
I have also installed the latest distribute 0.6.8 from here :
http://pypi.python.org/pypi/distribute/0.6.8
I have also tried uninstalling the previous versions and installing back but it doesn't seems to work.
I have got Python 2.7.3 installed
Could someone please explain to me what is going on... How I can install Mysqldb...
I have also ran these commands on shell :
sudo apt-get install mysql-server mysql-client python-mysqldb libmysqlclient-dev python-dev
But it didn't help ...
UPDATE I JUST DID THIS AND GOT THIS ERROR :
nabeel#nabeel-pc:~$ pip uninstall setuptools
Uninstalling distribute:
/usr/bin/easy_install
/usr/bin/easy_install-2.7
/usr/lib/python2.7/dist-packages/distribute-0.6.24dev_r0.egg-info
/usr/lib/python2.7/dist-packages/easy_install.pyc
/usr/lib/python2.7/dist-packages/pkg_resources.pyc
/usr/lib/python2.7/dist-packages/setuptools
/usr/lib/python2.7/dist-packages/site.pyc
/usr/share/pyshared/easy_install.py
/usr/share/pyshared/pkg_resources.py
/usr/share/pyshared/site.py
Proceed (y/n)? y
Successfully uninstalled distribute
nabeel#nabeel-pc:~$ sudo easy_install -U distribute
Searching for distribute
Reading http://pypi.python.org/simple/distribute/
Reading http://packages.python.org/distribute
Best match: distribute 0.6.29
Downloading http://pypi.python.org/packages/source/d/distribute/distribute-0.6.29.tar.gz#md5=1aad767bfca8bebaccafee25f85696cf
Processing distribute-0.6.29.tar.gz
Running distribute-0.6.29/setup.py -q bdist_egg --dist-dir /tmp/easy_install-Xcer8d/distribute-0.6.29/egg-dist-tmp-K0E7gP
Before install bootstrap.
Scanning installed packages
Setuptools installation detected at /usr/local/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg
Egg installation
Already patched.
After install bootstrap.
Creating /usr/local/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg-info
Creating /usr/local/lib/python2.7/site-packages/setuptools.pth
Removing distribute 0.6.8 from easy-install.pth file
Adding distribute 0.6.29 to easy-install.pth file
Installing easy_install script to /usr/local/bin
Installing easy_install-2.7 script to /usr/local/bin
Installed /usr/local/lib/python2.7/site-packages/distribute-0.6.29-py2.7.egg
Processing dependencies for distribute
Finished processing dependencies for distribute
nabeel#nabeel-pc:~$ sudo pip install mysql-python
Traceback (most recent call last):
File "/usr/local/bin/pip", line 5, in <module>
from pkg_resources import load_entry_point
ImportError: No module named pkg_resources
UPDATE 2 :
I have managed to install virtualenv
now in the environment I have also managed to install MySQLdb.
Here's theh error I get while running my server :
sudo python manage.py syncdb
I get this error:
File "/usr/local/lib/python2.7/site-packages/django/db/backends/mysql/base.py", line 16, in <module>
raise ImproperlyConfigured("Error loading MySQLdb module: %s" % e)
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: libmysqlclient_r.so.16: cannot open shared object file: No such file or directory
(myenv)nabeel#nabeel-pc:~/workspace/gteam/metrics$ python
Python 2.7.3 (default, Oct 6 2012, 21:57:36)
[GCC 4.4.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import MySQLdb
>>> exit()
Using virtualenv
First things first. Make sure you have Mysql, Setuptools and some essentials:
sudo apt-get install mysql-server
sudo apt-get install python-setuptools python-dev build-essential
Now install VirtualEnv:
sudo easy_install -U virtualenv
Create a Virtual Environment. As the documentation says: virtualenv is a tool to create isolated Python environments. This means that the chances of getting a conflict are really small. Here "myenv" is the name of a folder where you can access your environment, so create it where you want.
virtualenv --distribute myenv
Then go to "myenv" directory and run this to activate it:
source myenv/bin/activate
You need to install libmysqlclient-dev to get MySQL-python working:
sudo apt-get install libmysqlclient-dev
Now you're ready to install MySQL-python:
pip install MySQL-python
and everything should be working.
When you don't want to work in that environment anymore, write in the terminal:
deactivate
UPDATE:
Since this answer keeps getting upvotes, let me show you how to do the same using conda, which has become my favorite environment nowadays. First you have to install anaconda (I believe you can also install miniconda, which is a lighter version that includes conda and some packages.) Here you will find the installer for Linux, OS X and Windows. It is a big file but contains a lot of pre-compiled packages ready to be installed. Assuming you already have installed anaconda, you can simply run:
conda create -n mysql-env python
mysql-env is the name of the environment (you can call it whatever you want) and python is the default version of python to be installed (currently, 2.7.10). Alternatively, install other version of python with conda create -n my-new-env python=3.4.
Then you activate your environment:
source activate mysql-env
and finally install mysql-python:
conda install MySQL-python
(I think conda install mysql-python also works)
And that's all.
easy_install -U distribute solved my problem
In some Ubuntu installations, you'll also want to consider libmysqlclient-dev:
sudo apt-get install python-dev libmysqlclient-dev
It also held me back. The other responders probably already had it installed and didn't realize it was required.