[英]Python: how to import custom module
我只是從Python開始,並且對C#\\ Java有更多的經驗。 那么,讓我頭疼的是如何將Python模塊導入另一個自定義模塊? 我已經嘗試了幾件事:
以及其他幾個,但通常建議我使用相對進口(在進口聲明前使用適當數量的.
)。 對我來說,這似乎很脆弱,因為據我所知,導入是相對的,並且可以根據執行file.py
位置file.py
解決。
這是我在PyCharm中的項目結構:
Project
├───lib
│ ├───__init__.py
│ ├───pages
│ │ ├───__init__.py
│ │ ├───pageA.py
│ │ └───pageB.py
│ └───actions
│ ├───__init__.py
│ ├───actionA.py
│ └───actionB.py
├───tests
│ ├───__init__.py
│ ├───base_test.py
│ └───search_test.py
└───main.py
在我的search_test.py
我確實from lib.actions.actionA import ActionA
導入模塊,在actionA.py
我from lib.pages.pageA import PageA
導入模塊。 這是我的main.py
:
import unittest
from tests.search_test import SearchTest
def create_test_suite():
test_suite = unittest.TestSuite()
test_suite.addTest(SearchTest())
return test_suite
if __name__ == 'main':
suite = create_test_suite()
runner = unittest.TextTestRunner(verbosity=2)
runner.run(suite)
當我在PyCharm中運行此程序時,它可以完美運行。 但是現在我需要從控制台運行它:
D:\Projects\Python Projects> python -m unittest project_name.main
而且我正面臨ImportError: no module named 'lib'
。 有了這個:
D:\Projects\Python Projects\project_name> python main.py
什么都沒發生。
我能做什么? 我應該堅持相對模式還是要導入某種類似Java的包?
我認為應該改為project_name文件夾並在其中運行python -m unittest main
,而不是python -m unittest project_name.main
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.