如何在本地安装自定义Python包?实现跨目录导入且无需修改sys.path
本地安装自定义Python包实现任意目录导入
你的包结构如下:
- mod1.py
def f1(a: int): return a + 1
- mod2.py
from mod1 import f1 def f2(a: int): b = f1(a) return b + 1
- init.py
# This file is empty
- setup.py
from setuptools import setup, find_packages setup( name='mypackage', version='1.0.0', description='A description of mypackage', packages=find_packages(), author='My Name', author_email='my.email@example.com', )
完全可以通过本地安装这个包,实现无需修改sys.path就能从任意目录导入模块,步骤非常简单:
操作步骤
确保你已经激活目标conda环境:
conda activate 你的环境名称(如果当前已经在目标环境里,这一步可以跳过)
打开终端,切换到
mypackage目录的上级目录(比如mypackage放在~/code下,就执行cd ~/code)执行本地安装命令:
- 若需后续修改包代码后无需重新安装(开发模式),用:
pip install -e . - 若为正式安装,直接执行:
pip install .
- 若需后续修改包代码后无需重新安装(开发模式),用:
验证安装
安装完成后,随便找一个非mypackage所在的目录,打开Python解释器,执行:
from mypackage.mod2 import f2 print(f2(1)) # 应该输出3
能正常运行就说明安装成功了,之后只要激活这个conda环境,不管在哪个目录都能直接导入包内的模块。
内容的提问来源于stack exchange,提问作者Luis
相关产品推荐
相关产品推荐

