如果我更改一个文件,是否需要在Docker容器中重buildpython库?

我正在使用cleverhans库来完成我的项目。

但是,在当前版本的cleverhans / attacks.py中提供的CarliniWagnerL2类实际上在Docker的版本中是缺less的。

所以我试着手动编译当前版本的python文件到.pyc文件并运行以下命令

docker cp host_address containerID:/address/ 

用新文件replace旧文件。

我已经testing了docker中的文件已经更改为我的当前版本。

但是,当我尝试从cleverhans导入类CarliniWagnerL2,同样的错误说

 from cleverhans.attacks import CarliniWagnerL2 ImportError: cannot import name CarliniWagnerL2 

我需要重build容器吗?

另外,由于cleverhans不提供我的DockerFile和其他东西,如果我需要重buildpython库,我应该如何重build图像?

谢谢

你可以尝试build立你的形象。

像这样创build一个dockerfile:

 FROM goodfellow/competition:cpu # Copy your file in RUN cp host_address containerID:/address/ 

然后做一个docker build并使用该图像。