簡體   English   中英

ModuleNotFoundError: No module named - 嘗試從另一個文件夾導入文件時

[英]ModuleNotFoundError: No module named - when attempting to import files from another folder

我正在嘗試運行一個將 imports.py 文件從另一個文件夾中導入的代碼。 層次結構如下:

在此處輸入圖像描述

這是我調用導入的 AppiumTest 文件中的代碼部分:

from appium import webdriver
import unittest
from test.pageObj.LoginPage import LoginActivity
from test.pageObj.HomePage import HomeActivity

嘗試運行時,我收到此錯誤消息:

ModuleNotFoundError:沒有名為“test.pageObj”的模塊

我錯過了什么?

嘗試:

from pageObj.LoginPage import LoginActivity
from pageObj.HomePage import HomeActivity

你可以試試下面的代碼,看看它是否有效?

從 pageObj.LoginPage 導入 LoginActivity

從 pageObj.HomePage 導入 HomeActivity

  1. __ init __.py in pageObj
from .HomePage import HomeActivity
from .LoginPage import LoginActivity
  1. AppiumTest.py
from test.pageObj import HomePage
from test.pageObj import LoginPage
  1. package 和 __ 初始化 __

Python 定義了兩種類型的包,常規包和命名空間包。 常規包是傳統包,因為它們存在於 Python 3.2 和更早版本中。 常規 package 通常實現為包含init .py 文件的目錄。 當一個常規的 package 被導入時,這個init .py 文件被隱式執行,並且它定義的對象被綁定到包命名空間中的名稱。 init .py 文件可以包含與任何其他模塊可以包含的相同的 Python 代碼,並且 Python 將在導入模塊時為其添加一些附加屬性。

您不需要在導入語句中包含父目錄。 from pageobj import LoginActivity應該可以工作。

暫無
暫無

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

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