1
我有一个烧瓶服务器具有以下架构瓶迁移python2到3导入错误:无法导入名称
.
├── doc
│ ├── apidoc.json
│ ├── docAPI
│ └── generation_doc
├── images
│ ├── parking
│ └── user
├── log
│ └── file.log
├── README.md
├── requirements.txt
├── run_server.py
├── server
│ ├── controllers
│ ├── __init__.py
│ ├── models
│ ├── myServerUtils
│ ├── __pycache__
│ └── routes
└── venv
├── bin
├── include
├── lib
└── pip-selfcheck.json
一切都在python2运行良好。但我必须迁移到python3。 将python-mysql的要求更改为pymysql并重构导入完成后,下面是我得到的错误。
/home/myUser/Documents/myServer/backend/venv/bin/python /home/myUser/Documents/myServer/backend/run_server.py
Traceback (most recent call last):
File "/home/myUser/Documents/myServer/backend/run_server.py", line 4, in <module>
from server import app
File "/home/myUser/Documents/myServer/backend/server/__init__.py", line 26, in <module>
from .controllers import *
File "/home/myUser/Documents/myServer/backend/server/controllers/__init__.py", line 1, in <module>
from .user import *
File "/home/myUser/Documents/myServer/backend/server/controllers/user.py", line 3, in <module>
from .. import UserTable
ImportError: cannot import name 'UserTable'
Process finished with exit code 1
文件controllers/user.py
中的进口
from .. import db
from .. import return_error
from .. import UserTable
from .. import ErrorType
from .. import Logger
from .. import ParkingTable
from .. import ParkingBookedTable
from .. import reset_password as mail_reset_password
from .. import app
from flask import request, jsonify, send_file
import exrex, hashlib
from validate_email import validate_email
from datetime import datetime
import uuid
import os
import time
,这里是从models/users.py
进口,其中UserTable
定义
from .. import db
from .. import ErrorType
from validate_email import validate_email
import uuid
import time
感谢由前进!
[编辑]:要添加关于dmitrybelyakov的回答信息的补充,这个问题是从我的IDE,优化了进口和搞砸了一些他们的到来。 在我的git上回滚并正确设置我的导入完成了这项工作。
我看不到'控制器/ user.py'的文件'模型/ users.py'内容的任何进口。还有另一个地方可以搜索吗? 如何有可能在python2中工作,如果有循环导入,它不能在python3中工作? – RoToR