开发 Python 包
James Fulton
Climate informatics researcher
在 example_script.py 中
import mysklearn
带子包的包目录树
home/
|-- mysklearn <-- 位于同一目录
| |-- __init__.py
| |-- preprocessing
| | |-- __init__.py
| | |-- normalize.py
| | |-- standardize.py
| |-- regression
| | |-- __init__.py
| | |-- regression.py
| `-- utils.py
|-- example_script.py <-- 位于同一目录
在 example_script.py 中
import mysklearn
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'mysklearn'
目录树
home/
|-- mypackages
| |-- mysklearn <---
| |-- __init__.py
| |-- preprocessing
| | |-- __init__.py
| | |-- normalize.py
| | |-- standardize.py
| |-- regression
| |-- __init__.py
| |-- regression.py
`-- myscripts
`-- example_script.py <---
带子包的包目录树
mysklearn/
|-- __init__.py
|-- preprocessing
| |-- __init__.py
| |-- normalize.py
| |-- standardize.py
|-- regression
| |-- __init__.py
| |-- regression.py
|-- utils.py
带子包的包目录树
mysklearn/ <-- 外层目录
|-- mysklearn <--- 内层源代码目录
|-- __init__.py
|-- preprocessing
| |-- __init__.py
| |-- normalize.py
| |-- standardize.py
|-- regression
| |-- __init__.py
| |-- regression.py
|-- utils.py
带子包的包目录树
mysklearn/ <-- 外层目录
|-- mysklearn <--- 内层源代码目录
| |-- __init__.py
| |-- preprocessing
| | |-- __init__.py
| | |-- normalize.py
| | |-- standardize.py
| |-- regression
| | |-- __init__.py
| | |-- regression.py
| |-- utils.py
|-- setup.py <-- 外层的安装脚本
# Import required functions from setuptools import setup# Call setup function setup(author="James Fulton",description="A complete package for linear regression.",name="mysklearn",version="0.1.0",)
版本号 = (主版本号).(次版本号).(修订号)
# Import required functions from setuptools import setup, find_packages # Call setup function setup( author="James Fulton", description="A complete package for linear regression.", name="mysklearn", version="0.1.0",packages=find_packages(include=["mysklearn", "mysklearn.*"]),)
pip install -e .
. = 当前目录下的包-e = 可编辑带子包的包目录树
mysklearn/ <-- 进入此处
|-- mysklearn
| |-- __init__.py
| |-- preprocessing
| | |-- __init__.py
| | |-- normalize.py
| | |-- standardize.py
| |-- regression
| | |-- __init__.py
| | |-- regression.py
| |-- utils.py
|-- setup.py
开发 Python 包