簡體   English   中英

如何正確編寫import語句

[英]How to properly write the import statement

我如何正確地寫這樣的東西:

from ../lib.model import mymodel

這是樹:

lib----->model---->mynodel.py
 |
 |----->myscript--->myscript.py

如果lib是一個包,請運行myscript作為模塊並導入mymodel如下所示:

from ..model import mymodel    # relative import

要么:

from lib.model import mymodel    # absolute import

要將myscript.py作為lib包中的模塊運行,請執行以下操作之一:

  • 在包含導入lib.myscript.myscript lib的文件夾中運行程序
  • 使用python -m lib.myscript.myscript從包含lib的文件夾中運行myscript.py作為模塊

如果您的腳本使用lib ,則可以使用setuptools為項目創建setup.py文件

使用setuptools develop命令將創建項目的“開發模式”版本並將其放在python路徑上。 然后就像使用任何python包一樣容易使用它。

你的setup.py可以很簡單:

from setuptools import setup, find_packages


setup(
    name = "lib",
    version = "0.1dev",
    packages = find_packages(),
)

然后你就可以開發你的項目了

python setup.py develop

現在,您可以將包導入到所需的任何腳本中

from lib.model import model

假設你從myscript.py打電話。

嘗試這個:

import sys
sys.path.insert(0, '../model/')
import mynodel

mynodel可能是mymodel ,我覺得你在帖子中寫了一個拼寫錯誤。

永遠不要將擴展名放在imprt語句中。

sys.path是python將查找庫文件的路徑列表。 您只需添加所需目錄的相對路徑即可。 通過將它放在列表的前面,您可以確保python將首先在指定的路徑中查找文件(例如,有一個具有相同名稱的庫,您的文件將具有優先級)。

此外,提供tree的輸出(linux和cmd (Windows)命令)可能很有用。 這給出了標准化輸出。

暫無
暫無

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

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