sqlalchemy.exc.OperationalError: (OperationalError) impossible d'ouvrir le fichier de base de données aucune Aucune

Je suis en cours d'exécution d'un programme par une autre personne qui sont les inconvénients de demander de l'aide. Le programme est un site web. Fin de serveur est écrit en python et flacon (module, http://flask.pocoo.org/). Le programme a été exécuté avec succès sur le serveur. Ce dont j'ai besoin pour faire est de modifier quelque chose sur elle. Depuis le serveur de production n'est pas autorisé pour le test, je l'ai testé en serveur de développement local par flacon. Cependant, je ne pouvais pas courir, même le programme d'origine. Ci-dessous est à partir de python.

(venv)kevin@ubuntu:~/python/public_html$ python index.wsgi 

Traceback (most recent call last):
Fichier d'index".wsgi", ligne 6,
à partir de l'app à l'importation application comme application

File "/home/kevin/python/public_html/app.py", line 27, in <module>
app = create_app()
File "/home/kevin/python/public_html/app.py", line 12, in create_app
database.init_db()
File "/home/kevin/python/public_html/database.py", line 24, in init_db
Base.metadata.create_all(engine)
File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/schema.py", line 2793, in create_all
tables=tables)
File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 1478, in _run_visitor
with self._optional_conn_ctx_manager(connection) as conn:
File "/usr/lib/python2.7/contextlib.py", line 17, in __enter__
return self.gen.next()
File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 1471, in _optional_conn_ctx_manager
with self.contextual_connect() as conn:
File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 1661, in contextual_connect
self.pool.connect(),
File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/pool.py", line 272, in connect
return _ConnectionFairy(self).checkout()
File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/pool.py", line 425, in __init__
rec = self._connection_record = pool._do_get()
File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/pool.py", line 857, in _do_get
return self._create_connection()
File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/pool.py", line 225, in _create_connection
return _ConnectionRecord(self)
File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/pool.py", line 318, in __init__
self.connection = self.__connect()
File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/pool.py", line 368, in __connect
connection = self.__pool._creator()
File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/strategies.py", line 80, in connect
return dialect.connect(*cargs, **cparams)
File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/default.py", line 283, in connect
return self.dbapi.connect(*cargs, **cparams)
sqlalchemy.exc.OperationalError: (OperationalError) unable to open database file None None

Dans le config.py fichier

LOGFILE = " /tmp/ate.le journal'
DEBUG = True
TEST = True
FILETÉE = True
DATABASE_URI = 'sqlite:////tmp/ate.db"
SECRET_KEY = os.urandom(24)

Donc, j'ai créé un dossier appelé "tmp" sous mon utilisateur et un fichier vide appelé "mangé.db". Ensuite, il a couru de nouveau. Il a dit

IOError: [Errno 2] No such file or directory: '/home/kevin/log/ate.le journal'

Ensuite, j'ai créé le dossier log et le fichier journal. L'exécuter, mais rien ne s'est passé comme

(venv)kevin@ubuntu:~/python/public_html$ python index.wsgi
(venv)kevin@ubuntu:~/python/public_html$ python index.wsgi
(venv)kevin@ubuntu:~/python/public_html$

Si elle est couronnée de succès, le site devrait être disponible sur http://127.0.0.1:5000/. Cependant, il n'a pas de travail. Quelqu'un sait pourquoi et comment le résoudre? Les codes doivent être bien car il est maintenant disponible en ligne. Le problème devrait être un problème local. Je vous remercie beaucoup pour votre aide.

Le code de l'endroit où le programme est bloqué

from sqlalchemy import create_engine
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import scoped_session, sessionmaker
engine = None
db_session = None
Base = declarative_base()
def init_engine(uri, **kwards):
global engine
engine = create_engine(uri, **kwards)
return engine
def init_db():
global db_session
db_session = scoped_session(sessionmaker(bind=engine))
# import all modules here that might define models so that
# they will be registered properly on the metadata.  Otherwise
# you will have to import them first before calling init_db()
import models
Base.metadata.create_all(engine)
est-il censé être 4 //// après sqlite: ou juste 3? Aussi /tmp/ate.db signifie qu'elle est stockée dans /tmp et pas tmp. Sauf si vous êtes un chroot de cours.
Cela signifiait 4. Je pense que c'est le problème de mon environnement local, car il peut être exécuté dans un autre ordinateur et le serveur. Cependant, je ne sais pas quoi faire je m'ennuie dans mon ordinateur portable.
Il peut être intéressant de fournir le code autour de l'endroit où la trace de la pile des points de
Salut @JoeDoherty , j'ai joint le code en question. Merci

OriginalL'auteur user2677756 | 2013-08-13