Causality-Inspired Single-Source DomainGeneralization for MedicalImage Segmentation复现
requirements.txt 文件中指定的库版本(如numpy==1.22.0, torch==1.3.0)都非常旧(大约是2019-2021年的版本),它们与你现在电脑上安装的、非常新的Python解释器(比如Python 3.9)以及相关的构建工具链不兼容。正如你遇到的问题,项目A可能需要numpy 1.22,但你的全局环境因为项目B已经装了numpy 2.0,强行降级会搞坏项目B,不降级
进行论文的复现工作
requirements.txt 文件中指定的库版本(如numpy==1.22.0, torch==1.3.0)都非常旧(大约是2019-2021年的版本),它们与你现在电脑上安装的、非常新的Python解释器(比如Python 3.9)以及相关的构建工具链不兼容
直接pip install不仅现在会出错,就算侥幸安装成功,也会把你的全局(base)环境搞得一团糟。pip 没有一键撤销命令。 错误操作后需要手动清理
关于虚拟环境的精炼笔记
1. 没创建虚拟环境直接pip install会有影响吗?
答:有,而且影响很大,是项目开发的大忌。
-
污染全局环境: 你电脑上所有Python项目都共享这个唯一的“全局(base)环境”。为一个项目安装的库,可能会覆盖或破坏另一个项目需要的库版本,导致其他项目无法运行。
-
版本冲突: 正如你遇到的问题,项目A可能需要numpy 1.22,但你的全局环境因为项目B已经装了numpy 2.0,强行降级会搞坏项目B,不降级项目A又跑不起来。
-
项目无法复现: 当你想把项目分享给别人,或者换台电脑工作时,你无法准确知道这个项目到底依赖哪些库。因为你的全局环境里装了几百个包,哪些才是这个项目真正需要的?
2. 为什么要弄虚拟环境?(精炼解释)
核心思想:隔离 (Isolation)
虚拟环境就像是为你的每个Python项目创建了一个独立的、干净的、一次性的“专属房间”。
-
版本隔离:
-
项目A的房间里可以装Python 3.8和torch 1.3。
-
项目B的房间里可以装Python 3.12和torch 2.0。
-
它们互不干扰,各自安好。
-
-
依赖清晰:
-
每个房间里只安装该项目必需的库。
-
当项目完成时,可以一键导出这个房间里所有库的清单(pip freeze > requirements.txt),别人拿到清单就能一模一样地复制出这个房间,保证了项目的可复现性。
-
-
环境纯净、易于管理:
-
避免了全局环境的臃肿和污染。
-
如果某个项目的环境搞坏了,只需删掉这个“房间”(conda env remove -n <env_name>),然后重新建一个就行,不会影响任何其他项目。
-
一句话总结笔记:
虚拟环境通过为每个项目创建一个隔离的“专属房间”,解决了Python开发中最核心的“版本冲突”和“环境污染”问题,确保了项目的独立性、依赖清晰性和可复现性。
记录一次anaconda虚拟环境的使用
-
安装 Anaconda: 如果还没安装,请去官网下载并安装 Anaconda Distribution。
-
创建新的虚拟环境:
-
打开 Anaconda Prompt (从开始菜单找到)。
-
创建一个名为 causal_dg (因果域泛化) 的新环境,并指定Python版本(例如3.8):
codeBashconda create --name causal_dg python=3.8
-
-
激活虚拟环境:
-
创建成功后,按照提示激活它:
codeBashconda activate causal_dg -
激活后,你会看到终端提示符前面多了 (causal_dg) 的字样,表示你现在在这个独立的环境中了。
-
-
在虚拟环境中安装依赖:
-
先用 cd 命令切换到你的项目文件夹 (同问题一的解决方案)。
-
然后在这个虚拟环境中运行安装命令:
codeBash 注意不要开梯子 否则会有网络问题 被切断连接pip install -r requirements.txt -
现在,所有的库都会被安装到这个 causal_dg 环境专属的文件夹里,非常干净。
-
-
以后每次运行这个项目时,都记得先打开Anaconda Prompt,然后运行 conda activate causal_dg。
更多推荐



所有评论(0)