簡體   English   中英

從同一文件導入會引發ImportError

[英]importing from same file raises ImportError

很抱歉問我,但找不到答案。 我有這棵樹:

Dogs&Sheeps
    simulation.py
    stuff
        main.py
        values.py

simulation.py代碼開始:

import pygame
import sys

from stuff import main
from stuff import values

main.py代碼開始:

from random import randint
from time import sleep
import queue
import pygame
import sys

import values

如果我啟動Simulation.py,則會發生此錯誤:

    Traceback (most recent call last):
  File "...\simulation.py", line 5, in <module>
    from stuff import main
  File "...\stuff\main.py", line 7, in <module>
    import values
ImportError: No module named 'values'

我認為很明顯我想做什么,但是無論如何。 在文件main.py我要導入同一文件夾中的values.py文件。

在Python 3.x中,根據文檔 -

將包結構化為子包時(如示例中的聲音包一樣),可以使用絕對導入來引用同級包的子模塊。 例如,如果模塊sound.filters.vocoder需要使用sound.effects包中的echo模塊,則可以使用from sound.effects import echo

同樣,您需要使用絕對包名稱,而不是相對名稱,因此在main.py ,請main.py操作:

from stuff import values 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM