[英]Python attempted relative import with no known parent package
我有以下項目目錄。 scriptA.py
和scriptB.py
都是獨立的微服務,但在很大程度上共享相同的代碼庫。
myproject
apps/
models/
db.py
ModelA.py
ModelB.py
scriptA.py
scriptB.py
scripts/
import.py
requirements.text
README.md
我可以運行python apps/scriptA.py
和python apps/scriptB.py
就好了。 他們都可以導入models/db
和models/Model(A|b)
。
但是,當我運行python scripts/import.py
時,它也嘗試使用models/db
,我得到以下信息: attempted relative import with no known parent package
在scripts/import.py
中,我使用以下相對導入:
from ..apps.models.db import setup_db
def main():
print("Main")
if __name__ == "__main__":
main()
scripts
與apps
是分開的,因為它只包含一堆用於將數據導入我的數據庫的腳本。 而apps
包含運行我的應用程序的所有代碼。
根據您的命令,我假設您在執行python apps/scriptA.py
時位於myproject
目錄中。 在這種情況下,在 import.py 中使用:
import sys,os
sys.path.append('apps/models)
from db import setup_db
def main():
print("Main")
if __name__ == "__main__":
main()
然后你應該正常運行它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.