2017-07-06 120 views
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上回滚并正确设置我的导入完成了这项工作。

回答

1

我没有一个明确的答案,但我会通过,如果有任何圆形进口发生检查开始。

+0

我看不到'控制器/ user.py'的文件'模型/ users.py'内容的任何进口。还有另一个地方可以搜索吗? 如何有可能在python2中工作,如果有循环导入,它不能在python3中工作? – RoToR

相关问题