从setup.py创建数据库和表

时间:2016-02-02 12:24:57

标签: python mysql setup-deployment setup.py

我第一次尝试写setup.py。安装工作正常,但无法通过脚本创建数据库和表。 这是我的档案:

import os
import sys
from distutils.sysconfig import get_python_lib

from setuptools import find_packages, setup

# Dynamically calculate the version based on django.VERSION.
version = __import__('flask').__version__

setup(
  name='myapp_manager',
  version='1.0.0',
  description='myapp manger',
  long_description=('myapp manger description'),
  url='https://github.com/XXXXXXXXXX.git',
  packages=find_packages(exclude=['tests*']),
  install_requires=["Flask==0.10.1",
  "Flask-SQLAlchemy==1.0",
  "Jinja2==2.8",
  ...    
  ],
  include_package_data=True,
  entry_points = {
  'console_scripts': [
    'create_db = myapp_manager.scripts.create_db:main',
    ]
  },
  package_data={
    'static': 'static/*',
    'templates': 'templates/*'},
  classifiers=[
    "Private :: Do Not Upload"
  ],
)

这是我的项目目录结构:

myapp_manager
|-- app
|   |-- api_calls.py
|   |-- api_templates.py
|   |-- __init__.py
|   |-- logger.py
|   `-- loginapp
|      |-- controller.py
|      `-- __init__.py
|-- run.py
|-- scripts
|   |-- create_db.py
|   `-- __init__.py
|-- settings.py
`-- setup.py

这里是create_db.py(独立运行时运行时没有错误)

import MySQLdb
def main():
    db1 = MySQLdb.connect(host="localhost", user="root",passwd="passwordstr")
    cursor = db1.cursor()
    sql = 'CREATE DATABASE myappdb;'
    cursor.execute(sql)

if __name__ == '__main__':
    main()

我不确定它是否会出现在create_db.py中,但是当我运行时,我可以看到以下行:Installing create_db script to /usr/local/bin

在Mysql中:

mysql>show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| xapp_db            |
| mysql              |
| performance_schema |
+--------------------+

0 个答案:

没有答案
相关问题