简体   繁体   English

Flask(flask db init):AttributeError:模块“时间”没有属性“时钟”

[英]Flask(flask db init): AttributeError: module 'time' has no attribute 'clock'

While following a Flask tutorial I stumbled around this very strange problem!在学习 Flask 教程时,我偶然发现了这个非常奇怪的问题! While setting up the Migrate directory , after the first step of setting the flask app using set FLASK_APP=sql1.py , when I ran this command flask db init I got this error:在设置Migrate 目录时,在使用set FLASK_APP=sql1.py设置烧瓶应用程序的set FLASK_APP=sql1.py ,当我运行此命令flask db init ,出现此错误:

(first_flask_env) C:\Users\aakash\Desktop\python programs>flask db init
Traceback (most recent call last):
  File "c:\users\aakash\anaconda3\envs\first_flask_env\lib\runpy.py", line 194, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "c:\users\aakash\anaconda3\envs\first_flask_env\lib\runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "C:\Users\aakash\Anaconda3\envs\first_flask_env\Scripts\flask.exe\__main__.py", line 7, in <module>
  File "c:\users\aakash\anaconda3\envs\first_flask_env\lib\site-packages\flask\cli.py", line 894, in main
    cli.main(args=args, prog_name=name)
  File "c:\users\aakash\anaconda3\envs\first_flask_env\lib\site-packages\flask\cli.py", line 557, in main
    return super(FlaskGroup, self).main(*args, **kwargs)
  File "c:\users\aakash\anaconda3\envs\first_flask_env\lib\site-packages\click\core.py", line 697, in main
    rv = self.invoke(ctx)
  File "c:\users\aakash\anaconda3\envs\first_flask_env\lib\site-packages\click\core.py", line 1061, in invoke
    cmd_name, cmd, args = self.resolve_command(ctx, args)
  File "c:\users\aakash\anaconda3\envs\first_flask_env\lib\site-packages\click\core.py", line 1100, in resolve_command
    cmd = self.get_command(ctx, cmd_name)
  File "c:\users\aakash\anaconda3\envs\first_flask_env\lib\site-packages\flask\cli.py", line 500, in get_command
    self._load_plugin_commands()
  File "c:\users\aakash\anaconda3\envs\first_flask_env\lib\site-packages\flask\cli.py", line 496, in _load_plugin_commands
    self.add_command(ep.load(), ep.name)
  File "c:\users\aakash\anaconda3\envs\first_flask_env\lib\site-packages\pkg_resources\__init__.py", line 2472, in load
    return self.resolve()
  File "c:\users\aakash\anaconda3\envs\first_flask_env\lib\site-packages\pkg_resources\__init__.py", line 2478, in resolve
    module = __import__(self.module_name, fromlist=['__name__'], level=0)
  File "c:\users\aakash\anaconda3\envs\first_flask_env\lib\site-packages\flask_migrate\__init__.py", line 8, in <module>
    from alembic import __version__ as __alembic_version__
  File "c:\users\aakash\anaconda3\envs\first_flask_env\lib\site-packages\alembic\__init__.py", line 8, in <module>
    from . import op  # noqa
  File "c:\users\aakash\anaconda3\envs\first_flask_env\lib\site-packages\alembic\op.py", line 1, in <module>
    from .operations.base import Operations
  File "c:\users\aakash\anaconda3\envs\first_flask_env\lib\site-packages\alembic\operations\__init__.py", line 1, in <module>
    from .base import Operations, BatchOperations
  File "c:\users\aakash\anaconda3\envs\first_flask_env\lib\site-packages\alembic\operations\base.py", line 3, in <module>
    from .. import util
  File "c:\users\aakash\anaconda3\envs\first_flask_env\lib\site-packages\alembic\util\__init__.py", line 6, in <module>
    from .pyfiles import (  # noqa
  File "c:\users\aakash\anaconda3\envs\first_flask_env\lib\site-packages\alembic\util\pyfiles.py", line 6, in <module>
    from mako.template import Template
  File "c:\users\aakash\anaconda3\envs\first_flask_env\lib\site-packages\mako\template.py", line 10, in <module>
    from mako.lexer import Lexer
  File "c:\users\aakash\anaconda3\envs\first_flask_env\lib\site-packages\mako\lexer.py", line 11, in <module>
    from mako import parsetree, exceptions, compat
  File "c:\users\aakash\anaconda3\envs\first_flask_env\lib\site-packages\mako\parsetree.py", line 9, in <module>
    from mako import exceptions, ast, util, filters, compat
  File "c:\users\aakash\anaconda3\envs\first_flask_env\lib\site-packages\mako\exceptions.py", line 11, in <module>
    from mako import util, compat
  File "c:\users\aakash\anaconda3\envs\first_flask_env\lib\site-packages\mako\util.py", line 11, in <module>
    from mako import compat
  File "c:\users\aakash\anaconda3\envs\first_flask_env\lib\site-packages\mako\compat.py", line 124, in <module>
    time_func = time.clock
AttributeError: module 'time' has no attribute 'clock'

I'm getting the exact same error while running my .py script also,here's the script:我在运行 .py 脚本时也遇到了完全相同的错误,这是脚本:

from flask import Flask
import os
from flask_sqlalchemy import SQLAlchemy 
from flask_migrate import Migrate

basedir = os.path.abspath(os.path.dirname(__file__))   #Full directory path of the file I'm working with..here, sql1.py

app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///' + os.path.join(basedir, 'data.sqlite')
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False 
db = SQLAlchemy(app)

Migrate(app,db) #Here it connect the application "app.py"
                # with the database "db"    
class puppy(db.Model):
    __tablename__ = 'Name Provided by me!!'
    id = db.Column(db.Integer,primary_key = True)
    name = db.Column(db.Text)
    age = db.Column(db.Integer)
    
    def __init__(self,name,age):
        self.name = name
        self.age = age
    def __repr__(self):
        return f"puppy {self.name} is {self.age} year/s old!"

I looked into every solution I found ( here and this )and made sure everything was correct !我查看了我找到的每个解决方案( 这里这个)并确保一切都是正确的 I ran this command when my environment was activated which had installed every package needed including SQLAlchemy and Flask-Migrate .我的环境被激活运行了这个命令,它安装了所有需要的包,包括SQLAlchemy 和 Flask-Migrate

I even deleted them (packages) and re-installed their latest versions but still getting the same error!我什至删除了它们(包)并重新安装了它们的最新版本,但仍然出现相同的错误! I'm using Python 3.8.5我正在使用Python 3.8.5

You have some dependencies that are too old and incompatible with Python 3.8.您有一些太旧且与 Python 3.8 不兼容的依赖项。 At the very least, you should update the mako package:至少,您应该更新mako包:

pip install --upgrade mako

I had a similar issue I had to update flask_sqlalchemy even after doing this I had issues.我有一个类似的问题我不得不更新flask_sqlalchemy即使在这样做之后我也遇到了问题。 I ended up having to make a new virtual environment, I would make a small hello world project on another virtual environment to see if that works.我最终不得不创建一个新的虚拟环境,我会在另一个虚拟环境中创建一个小的 hello world 项目,看看它是否有效。

For me, it was giving the same error, so I removed __init__.py file from the folder which has app.py对我来说,它给出了同样的错误,所以我从包含app.py的文件夹中删除了__init__.py文件

After removing I ran the删除后我跑了

flask init db

it worked :)有效 :)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 烧瓶SQLAlchemy的。 AttributeError:模块“ &lt;…&gt; .db”没有属性“ Model” - Flask-SQLAlchemy. AttributeError: module '<…>.db' has no attribute 'Model' AttributeError:模块 'api.db' 在 Flask 上没有属性 'Model' - AttributeError: module 'api.db' has no attribute 'Model' on Flask AttributeError:未找到模块“时间”没有属性“时钟” - AttributeError: not found module 'time' has no attribute 'clock' AttributeError:模块“时间”没有属性“时钟”聊天机器人 - AttributeError: module 'time' has no attribute 'clock' chatterbot Chatterbot:AttributeError:模块“时间”没有属性“时钟” - Chatterbot : AttributeError: module 'time' has no attribute 'clock' AttributeError:模块“时间”没有属性“时钟” - AttributeError: module 'time' has no attribute 'clock' 解决方案 - AttributeError: module 'time' has no attribute 'clock' - Solution for - AttributeError: module 'time' has no attribute 'clock' Flask-AttributeError:“ _ AppCtxGlobals”对象没有属性“ db” - Flask - AttributeError: '_AppCtxGlobals' object has no attribute 'db' AttributeError: 模块“flask”没有属性“route” - AttributeError: module 'flask' has no attribute 'route' Flask-AttributeError:“模块”对象没有属性“ items” - Flask - AttributeError: 'module' object has no attribute 'items'
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM