首頁 > 後端開發 > Python教學 > 如何輕鬆地從 Python 中的同級套件導入模組?

如何輕鬆地從 Python 中的同級套件導入模組?

Susan Sarandon
發布: 2024-12-19 21:13:19
原創
349 人瀏覽過

How Can I Easily Import Modules from Sibling Packages in Python?

同級套件導入

使用 Python 套件時,從同級套件導入模組有時可能是一個挑戰。涉及 sys.path 操作的傳統方法可能很麻煩且容易出錯。這是一個利用 Python 的現代打包工具實現更簡單方法的解決方案。

涉及的步驟

1.建立pyproject.toml 檔案

在專案目錄的根目錄下,建立一個包含以下最少內容的pyproject.toml 檔案:

[project]
name = "myproject"
version = "0.1.0"
description = "My small project"

[build-system]
build-backend = "flit_core.buildapi"
requires = ["flit_core >=3.2,<4"]
登入後複製

2 。啟動虛擬環境(可選)

雖然不是必要的,但啟動虛擬環境可以確保專案特定的依賴項與全域 Python 環境隔離。建立並啟動虛擬環境:

  • 建立虛擬環境:

    python -m venv venv
    登入後複製
  • 啟動虛擬環境:
  • Linux 和macOS:來源. /venv/bin/activate
  • Windows: .venvScriptsactivate

3.以可編輯狀態安裝套件

在專案目錄的根目錄中,使用帶有-e 標誌的pip 安裝包以啟用可編輯模式:

pip install -e .
登入後複製

要從同級包導入模組,請在導入中添加包名稱作為前綴。例如,要從同級套件匯入名為api 的模組,您可以使用:

from myproject.api import api_module
登入後複製
登入後複製

範例用法

考慮以下專案結構:

- api
  - api.py
- examples
  - example_one.py
- tests
  - test_one.py
登入後複製

使用建議的解決方案,您可以從example_one.py 匯入api 模組並test_one.py如下:

example_one.py:

from myproject.api import api_module
登入後複製
登入後複製

test_one.py:

from myproject.api import api_module def test_function(): print(api_module.function_from_api()) if __name__ == '__main__': test_function()

以上是如何輕鬆地從 Python 中的同級套件導入模組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板