Anaconda多环境下自制Python包的site-packages存放路径及安装方式咨询
Anaconda环境下Python包部署的目录选择与方式建议
一、三个site-packages目录的实际作用,以及你的理解纠正
~/.local/lib/pythonX.X/site-packages/:这是当前系统用户的全局用户级Python目录,如果你的系统默认Python不是Anaconda,这里对应系统自带Python。Anaconda的自定义环境默认会隔离这个路径,不是所有环境都能访问,所以“任意环境可用”的说法不成立。~/anaconda3/lib/pythonX.X/site-packages/:这是Anaconda的base环境专属目录,只有激活base环境时才能导入这里的包,其他自定义环境(比如MY_ENV)默认读不到,所以这也不是“任意环境可用”。~/anaconda3/envs/MY_ENV/lib/pythonX.X/site-packages/:这是MY_ENV环境专属目录,只有激活该环境时才能导入,这部分你的理解是对的。
二、部署方式:优先用安装,别直接复制
直接把包文件夹粘贴到site-packages虽然能临时用,但坑很多:
- 没法自动处理依赖:如果你的包需要其他库,复制过去不会自动装依赖,运行时大概率报错。
- 后续维护麻烦:更新或删除包时得手动找文件删,容易留垃圾;也用不了
pip uninstall这类管理命令。 - 版本管理混乱:没法追踪包的版本变化,出问题难排查。
正确的操作是用pip安装:
- 先激活你要部署包的目标环境(比如给base装就
conda activate base,给MY_ENV装就conda activate MY_ENV) - 打开你的包所在的根目录(必须有
setup.py或者pyproject.toml文件) - 选对应的安装命令:
- 如果你还在开发这个包,想改完代码立即生效,用开发模式安装:
pip install -e . - 如果是正式发布,用普通安装:
pip install .
- 如果你还在开发这个包,想改完代码立即生效,用开发模式安装:
要是想让多个环境都能用到这个包,别硬塞全局目录,建议创建一个专门的共享环境,然后在其他环境里通过conda或pip的依赖配置来引用,避免搞乱各个环境的依赖。
内容的提问来源于stack exchange,提问作者Travis_Dudeson
相关产品推荐
相关产品推荐

