Re: [問題] 如何import所有來自指定目錄的module

看板Python作者 (薇薇安安)時間2年前 (2022/04/07 15:59), 編輯推噓0(004)
留言4則, 1人參與, 2年前最新討論串3/3 (看更多)
※ 引述《blc (Anemos)》之銘言: : 我在推文給了錯誤方法,只好再想一個 : containers/__init__.py: : import os : __all__ = [i.replace(".py","") for i in os.listdir(__path__[0]) ] : from . import * : main.py: : import containers : t1 = containers.module1.Test1(6) : t1.test1() : 如果要去掉module1那層大概得找其他方法... : ※ 引述《VivianAnn (薇薇安安)》之銘言: : : 各位好,以下是本人要處理的檔案 : : main.py : : containers : : /module1.py : : /module2.py : : /module3.py : : module1, 2, 3中的程式碼類似,皆如下: : : class Test1(self): : : : def __init__(self, num): : : self.num = num : : def test1(self): : : print("test1") 謝謝blc和lycantrope兩位高手提供的方法,我在本地測試都可以用,但在公司的遠端 Linux主機就不行了,會出現 ModuleNotFoundError: No module named 'containers' 查了一下stackoverflow,我的理解是必須將本工作目錄加到PYTHONPATH, 像是 export PYTHONPATH="${PYTHONPATH}:/path/to/your/project/" 或是有另一招sys.path,sys.path.append("/path/to/your/project/"), 但比較不推荐 想請問版友們都怎麼做 另外我目前有個運行docker container的指令(docker run....),不知能不能將 export PYTHONPATH 的指令也一併放入docker container中 將問各位版有有遇到這樣的問題嗎? 問題寫得有點趕,請多包涵,之後還會再補充的 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 108.254.89.199 (美國) ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1649318363.A.98D.html

04/08 03:49, 2年前 , 1F
可以用 docker run ... bash -c 'export ...; 原先
04/08 03:49, 1F

04/08 03:49, 2年前 , 2F
的指令' ;或者可以把 PYTHONPATH 弄出來 加上去後
04/08 03:49, 2F

04/08 03:49, 2年前 , 3F
再用 docker run -e PY... 設定;又或者自己弄 imag
04/08 03:49, 3F

04/08 03:49, 2年前 , 4F
e 時設定好
04/08 03:49, 4F
文章代碼(AID): #1YJfdRcD (Python)
文章代碼(AID): #1YJfdRcD (Python)