好吧,所以我用谷歌搜索了一个 ton ,并尝试了stackoverflow上列出的解决方案...但没有一个起作用。
如果有的话,我在anaconda。我有一个名为“ mainwithai.py”的python文件。在该文件中,我这样做:
from SAI import AI_Player
哪个工作正常。 SAI.py与mainwithai位于同一目录中。现在,在同一目录中,有一个名为“ getboards.py”的文件。
我尝试以相同的方式在SAI中导入此文件,在mainwithai中导入不是,但失败了。我根据不同的答案尝试了几种不同的方法,但均以失败告终:
from . import getboards
import getboards
from .. import getboards
from getboards import *
getboards没有类,如果有的话(SAI.py有一个类)。只是功能的集合和这些功能需要的一些随机词典。同样,如果我尝试在mainwithai或SAI中进行导入,同样的错误也没关系。
SAI为什么起作用,而getboards失败?我发现该文件夹中有mainwithai和sai的.pyc文件;我也需要其中之一来获得Getboard吗?
我已经读过有关__init__.py
的内容,但这听起来像是与我尝试做的事情完全不同的事情;我只想在mainwithai上按f5键,就可以了,而不是打包。
编辑: 添加ls的输出
Volume in drive D is YSTORAGE
Volume Serial Number is 60BA-9F15
Directory of D:\AllStuff\writtenworks\StrategoProject
07/27/2018 11:42 AM <DIR> .
07/27/2018 11:42 AM <DIR> ..
01/26/2018 10:14 AM 66 .gitattributes
01/29/2018 11:05 AM 70 .gitignore
11/06/2018 09:17 AM <DIR> __pycache__
12/29/2017 12:26 AM 7,812 AI.py
01/30/2018 11:56 AM <DIR> AI_Mode
01/02/2018 03:22 PM <DIR> backups
12/29/2017 12:42 AM 231 conf.cfg
01/31/2018 09:52 AM <DIR> Database
12/31/2017 09:45 PM 336 empty.txt
12/31/2017 09:28 PM 336 gamestate.txt
11/13/2018 02:57 PM 16,352 getboards.py
12/31/2017 06:27 PM 125,862 gurobi.log
01/26/2018 10:14 AM 35,119 LICENSE
11/13/2018 03:41 PM 34,443 mainwithai.py
01/02/2018 11:11 PM 20,259 mainwithai.pyc
11/08/2018 02:06 PM 16,268 mcts.py
01/24/2018 01:11 PM 0 mintemps.txt
12/29/2017 04:26 PM 1,322 model.ilp
11/08/2018 09:11 AM 8,252,424 neuralstrategoALL.h5
12/31/2017 06:08 PM 6,827 optimization_setup.py
01/29/2018 10:40 AM <DIR> optimizedsetups
01/26/2018 10:14 AM 18 README.md
09/08/2017 03:05 PM <DIR> resources
11/13/2018 03:40 PM 12,747 SAI.py
01/26/2018 01:08 PM 5,666 SAI.pyc
11/06/2018 10:51 AM 8,872 SAIbackup.txt
11/09/2018 11:10 AM 4,226 strategoneural.py
12/31/2017 09:06 PM 337 testtest.txt
12/31/2017 09:00 PM 336 texttext.txt
11/07/2018 04:59 PM 4,992 xmlparse2.py
24 File(s) 8,554,921 bytes
8 Dir(s) 20,052,148,224 bytes free
编辑2:这是所有三个文件顶部的所有导入:
mainwithai:
# -*- coding: utf-8 -*-
import configparser
import sys, time, pygame
from pygame.locals import *
import random
import re
from SAI import AI_Player
SAI:
# -*- coding: utf-8 -*-
import random
import numpy as np
import keras
from keras.models import load_model
from copy import copy
import re
获取板:
# -*- coding: utf-8 -*-
import numpy as np
from copy import copy, deepcopy
除了顶部以外,我什么都不导入,我检查了所有这些(当然,我当然搜索了文件),所以我认为这不是循环引用。他们唯一的共同点是,getboards的字典与SAI的名称相同,但除此之外,我什至检查了所有函数的名称。什么都没有。
编辑3:将import getboards
放入SAI.py的Stacktrace
runfile('D:/AllStuff/writtenworks/StrategoProject/SAI.py', wdir='D:/AllStuff/writtenworks/StrategoProject')
Traceback (most recent call last):
File "<ipython-input-895-2df6678e9989>", line 1, in <module>
runfile('D:/AllStuff/writtenworks/StrategoProject/SAI.py', wdir='D:/AllStuff/writtenworks/StrategoProject')
File "C:\Users\ylwaller\AppData\Local\Continuum\anaconda2\envs\sdev3\lib\site-packages\spyder_kernels\customize\spydercustomize.py", line 678, in runfile
execfile(filename, namespace)
File "C:\Users\ylwaller\AppData\Local\Continuum\anaconda2\envs\sdev3\lib\site-packages\spyder_kernels\customize\spydercustomize.py", line 106, in execfile
exec(compile(f.read(), filename, 'exec'), namespace)
File "D:/AllStuff/writtenworks/StrategoProject/SAI.py", line 8, in <module>
import getboards
ModuleNotFoundError: No module named 'getboards'