我第一次尝试写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 |
+--------------------+