簡體   English   中英

Python和Docker:如何將軟件包添加到sys.path中?

[英]Python & docker: how can i add packages into sys.path?

我已經嘗試解決了好幾次,但是在任何地方都找不到。

讓我弄清楚。

我在C:/Users創建game ,它是一個包,由like

game/__init__.py
game/sound/__init__.py
game/sound/echo.py

然后我在Test_Module.py的其他位置執行Test_Module.py

我嘗試

>>> sys.path.append("C:/Users/game")

>>> sys.path.insert(0, "C:/Users/game")

當我導入游戲時,Pycharm中有紅色下划線

泊塢窗中未出現名為“游戲”的模塊。

我也做了Interpreter項目來選擇路徑。 但這只會使紅色下划線消失而仍然無法正常工作

沒有名為“游戲”的模塊

好吧,如果我將game文件移動到執行Test_Module.py的文件夾中,那么它完全可以在沒有sys.path.append情況下工作,而只需import game

我在Linux上,所以我嘗試像這樣復制您的包結構。

mkdir -p game/sound
touch game/__init__.py
touch game/sound/__init__.py
touch game/sound/echo.py

現在我的目錄看起來像這樣

$ tree                                                                                                                                                        
.
└── game
    ├── __init__.py
    └── sound
        ├── echo.py
        └── __init__.py

echo.py包含此

def hello():
    print("hello")

如果我啟動python解釋器,我可以調用該函數

$ python
Python 3.6.4 (default, Jul 17 2018, 18:32:53) 
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from game.sound import echo
>>> dir(echo)
['__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'hello']
>>> echo.hello()

它正確返回

hello

我在pycharm中打開了它,看起來好像正確找到了所有東西。 如果您按照我在一個單獨的目錄中所做的操作並在pycharm中打開,這對您有用嗎?

暫無
暫無

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

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