【发布时间】:2021-09-24 08:49:46
【问题描述】:
我一直在使用this 教程在 ubuntu 服务器上设置烧瓶。 它适用于一个项目,现在我尝试在另一个项目上进行设置。 这次应用程序在没有 SQLAlchemy 的情况下运行良好,但是一旦我使用它,它就会出现“内部服务器错误”。
- 检查了 flask_sqlalchemy 的安装 - 看起来不错
- 确保我没有名为“sqlalchemy”的文件
- 我可以使用 sqlalchemy 启动应用程序,但没有 virtualenv,它可以正常工作!
- 我仔细检查了 flask_sqlalchemy 在 virtualenv 库中的配置与在 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