Импорт второго файла в уже импортированный файл вызывает ошибки? - PullRequest
0 голосов
/ 13 ноября 2018

Хорошо, так что я набрал в Google тонну и попробовал решения, перечисленные в stackoverflow ... но ни одно из них не сработало.

Я нахожусь в Анаконде, если это имеет значение.У меня есть файл Python под названием «mainwithai.py».В этом файле я делаю:

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 терпит неудачу?Я вижу, что в папке есть файлы .pyc для mainwithai и sai;мне нужен один из них для getboards тоже?

Я читал кое-что о __init__.py, но похоже, что это что-то совершенно иное, чем то, что я пытаюсь сделать;Я просто хочу нажать на f5 на mainwithai и заставить его идти, а не делать пакет.

РЕДАКТИРОВАТЬ: Добавление вывода 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

getboards:

# -*- coding: utf-8 -*-
import numpy as np
from copy import copy, deepcopy

Я нигде не импортирую, но сверху, это все, что я проверял (я искал файлы какКонечно, конечно), поэтому я не думаю, что это круговая ссылка.Единственное, что у них общего, - это то, что в getboards есть словарь с тем же именем, что и в SAI, но кроме этого я проверил даже все имена функций;Ничего.

РЕДАКТИРОВАТЬ 3: Стек ставить import getboards в SAI.py

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'
...