簡體   English   中英

如何解決:嘗試在沒有已知父 package 的情況下進行相對導入

[英]How to solve: attempted relative import with no known parent package

我有一個項目結構,其中大部分是空的 python 文件:

-project
  --work1
      --__init__.py
      --app.py
      --momo.py

莫莫.py

import numpy as np
def plus(x):
    return x

應用程序.py

from . import momo
a = momo.plus(6)

直接運行 app.py 會導致這個錯誤:

from . import momo
ImportError: attempted relative import with no known parent package

我嘗試更改為“from plus import momo”,但這會產生相同的錯誤。

Python 3.8版

任何提示將不勝感激。

你不應該像你說的那樣導入。

你可以試試這個:

import momo

它應該將momo添加到您當前的文件中。

對於使用已經在momo中聲明的函數,您應該在 momo 之后調用 function 名稱momo. . 例如:

a = momo.plus(12)

如果你只是想plus`` from ,你可以試試

from momo import plus

那么您只需要調用 function 名稱,而不是將整個文件和函數一起調用。 例如:

a = plus(12)

嘗試從project目錄作為模塊運行它(-m 標志):

$ cd project
$ python -m work1.app 

因為當你像python app.py一樣直接啟動應用程序時,不知道當前文件夾實際上是一個 package 帶有__init__.py但點 in from. import * from. import *是當前 package 的快捷方式。

暫無
暫無

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

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