【问题标题】:SqlAlchemy problem in Virtual Environment: cannot import name 'inspect' from 'sqlalchemy'虚拟环境中的 SqlAlchemy 问题:无法从“sqlalchemy”导入名称“inspect”
【发布时间】:2021-09-24 08:49:46
【问题描述】:

我一直在使用this 教程在 ubuntu 服务器上设置烧瓶。 它适用于一个项目,现在我尝试在另一个项目上进行设置。 这次应用程序在没有 SQLAlchemy 的情况下运行良好,但是一旦我使用它,它就会出现“内部服务器错误”。

  • 检查了 flask_sqlalchemy 的安装 - 看起来不错
  • 确保我没有名为“sqlalchemy”的文件
  • 我可以使用 sqlalchemy 启动应用程序,但没有 virtualenv,它可以正常工作!
  • 我仔细检查了 flask_sqlalchemy 在 vi​​rtualenv 库中的配置与在 python 库中的配置相同

我收到的错误:

Traceback (most recent call last):
  File "myproject2.py", line 4, in <module>
    from flask_sqlalchemy import SQLAlchemy
  File "/root/myproject2/myprojectenv2/lib/python3.8/site-packages/flask_sqlalch                                       emy/__init__.py", line 16, in <module>
    from sqlalchemy import event, inspect, orm
ImportError: cannot import name 'inspect' from 'sqlalchemy' (/root/myproject2/my                                       projectenv2/lib/python3.8/site-packages/sqlalchemy/__init__.py)

感谢您的任何建议!

【问题讨论】:

  • 如果你只是从 virtualenv 中的 python repl(提示)导入sqlalchemy,然后打印/检查它会发生什么?
  • @2e0byo 1) 我输入 'python3' 2) 输入 'import sqlalchemy 3) 输入 'print (sqlalchemy)' 4) 并得到这个:
  • 对,所以你肯定会得到 sqlalchemy。你能在repl中from sqlalchemy import inspect吗? [用这个更新问题,因为它缩小了问题发生的范围]。
  • 顺便说一下,您真的不想以 root 身份运行您的网络服务器。您想以专门为该任务创建的另一个系统用户的身份运行它,在 /var/www 之外或您保存服务器需要写入的任何文件的任何地方都没有写权限。注意这与手头的问题无关。
  • 我输入:'import inspect from sqlalchemy' 并得到:文件“”,第 1 行 import inspect from sqlalchemy ^ SyntaxError: invalid syntax

标签: python sqlalchemy virtualenv


【解决方案1】:

看来您的安装在 virtualenv 中已损坏。尝试通过在 virtualenv 中运行它来重新安装:

pip install --upgrade --force-reinstall flask-sqlalchemy sqlalchemy

【讨论】:

  • 非常感谢!!!作品! ?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-02-27
  • 1970-01-01
  • 2021-07-09
  • 2019-06-09
相关资源
最近更新 更多