Hacker News new | past | comments | ask | show | jobs | submit login

Thanks for your comment.

I have just started using Conda locally to learn before taking it to work. I'm a new sysadmin and my predecessor maintained a restricted list of python packages on all cluster systems like a dictator. I don't want to be one.

Does conda cloning the environment mean I can just copy the project directory to another server and expect my program to run without it looking for the packages on the internet?




No, the intended way of cloning works by exporting the exact specifications to a text file and re-creating the environment from the text file.

If you use packages from conda channels (which are repositories of packages), then it should work flawlessly. Usually basically everything is available from either the official channel (anaconda) or some community channel (like conda-forge). At least in the data-science domain. I'm not really familiar with the python web-development scene, so not sure about that.

Edit: actually once I had to copy an environment from one machine to another (because of connection problems), and I seem to recall that worked too, but I don't think this method is officially supported.


> No, the intended way of cloning works by exporting the exact specifications to a text file and re-creating the environment from the text file.

Snatching defeat from the jaws of victory :)

But I'm not sure who to believe, the other reply to the parent comment says that copying things around is actually possible.


Well, as my edit says, I've had success with installing anaconda on an other machine and copying the environment folder to the proper place inside the installation, but AFAIK that's not an officially supported way of doing it.


UPDATE: Conda seems to be able to do just that.

conda create -n myenv python=3.6.3

conda install -n myenv scipy

conda install -n myenv numpy

conda install -n myenv pandas

source activate myenv # To make use of the environment.

source deactivate

conda create --name myclone --clone myenv. # Clones the environment.

du -sh /Users/asampath/anaconda3/envs/myclone

du -sh /Users/asampath/anaconda3/envs/myenv

813M /Users/asampath/anaconda3/envs/myenv

Fat environments. But, this works out just fine in our NFS mounted storage in cluster.


I'm not sure about Conda, but virtualenv already does that.


Oh really? You can't move a virtualenv folder around on a single machine. If you move it to the same location on a different machine, does it work?


It does work, AFAIK, but you can also move it around on a single machine if you rerun "virtualenv <dir>" on the env (it fixes the links). It's been a while since I've done that, so I'm not sure if it still works, but it should.

EDIT: Yeah, just tried it again, it rewrites the shell files so everything works again. It even uses the same python version as you used.




Consider applying for YC's W25 batch! Applications are open till Nov 12.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: