2

Pyramid Framework comes with a sample tutorial of sql alchemy that uses sqlite. The problem is that i want to use mysql so i change this

sqlalchemy.url = sqlite:///%(here)s/tutorial.db

Into this

sqlalchemy.url = mysql://root:22password@localhost/alchemy

when i try to run

../bin/pserve development.ini --reload

It gives me the following error

 File "build/bdist.linux-i686/egg/sqlalchemy/connectors/mysqldb.py", line 52, in dbapi
ImportError: No module named MySQLdb

I understand that i should include the dependecies of my app in setup.py but i don't know what to include right now some help please my setup.py looks like this

import os
import sys

from setuptools import setup, find_packages

here = os.path.abspath(os.path.dirname(__file__))
README = open(os.path.join(here, 'README.txt')).read()
CHANGES = open(os.path.join(here, 'CHANGES.txt')).read()

requires = [
    'pyramid',
    'SQLAlchemy',
    'transaction',
    'pyramid_tm',
    'pyramid_debugtoolbar',
    'zope.sqlalchemy',
    ]

if sys.version_info[:3] < (2,5,0):
    requires.append('pysqlite')

setup(name='tutorial',
      version='0.0',
      description='tutorial',
      long_description=README + '\n\n' +  CHANGES,
      classifiers=[
        "Programming Language :: Python",
        "Framework :: Pylons",
        "Topic :: Internet :: WWW/HTTP",
        "Topic :: Internet :: WWW/HTTP :: WSGI :: Application",
        ],
      author='',
      author_email='',
      url='',
      keywords='web wsgi bfg pylons pyramid',
      packages=find_packages(),
      include_package_data=True,
      zip_safe=False,
      test_suite='tutorial',
      install_requires = requires,
      entry_points = """\
      [paste.app_factory]
      main = tutorial:main
      [console_scripts]
      populate_tutorial = tutorial.scripts.populate:main
      """,
      )

4 Answers 4

13

Try adding "MySQLdb" to the requires list. It was fine with sqlite3 as that comes with python (as of version 2.5), MySQLdb doesn't and needs to be installed separately.

UPDATE:

Try "mysql-python" in the requires list instead.

Sign up to request clarification or add additional context in comments.

6 Comments

I tried that already and it gives me the following errors Installed /home/dennis/Desktop/pyramidtut/tutorial Processing dependencies for tutorial==0.0 Searching for MySQLdb Reading pypi.python.org/simple/MySQLdb Couldn't find index page for 'MySQLdb' (maybe misspelled?) Scanning index of all packages (this may take a while) Reading pypi.python.org/simple No local packages or download links found for MySQLdb Best match: None
and when i run import MySQLdb in python shell it doesn't give an error so am sure its properly installed
Pyramid should have a different set of packages to your system's python shell (it uses a virtualenv with no-site-packages) so you have MySQLdb installed on your system, but not in the pyramid virtualenv.
am a newbie so what do i do for it to work in the virtualenv?
Have you tried my updated answer ("mysql-python" in the requires list)? With my last comment I was just explaining why you could import MySQLdb but Pyramid couldn't. Pyramid will make sure the things in the requires list are installed in the virtualenv.
|
0

Okay i Solved my own question by following the directions on this page http://www.saltycrane.com/blog/2010/02/install-mysqldb-virtualenv-ubuntu-karmic/

1 Comment

Please add a short summary of your solution to your answer. Best with the added/changed lines in setup.py
0

There is the huge list of Unofficial Windows Binaries for Python Extension Packages which are extremely useful for Windows users.

http://www.lfd.uci.edu/~gohlke/pythonlibs/

Comments

0

Solved in ubuntu environment

  1. sudo apt-get build-dep python-mysqldb
  2. source /bin/active && pip install MySQL-python

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.