Jonathan MacCarthy
2016-02-12 22:15:40 UTC
Hello all,
I'm trying to build a single tarball on a machine with internet such that I
can reproduce my "environment" from scratch on a second offline machine
(both linux-64). I feel like I'm doing it wrong, and I'm looking for
help. Here's my current proceedure.
On the online (source) machine:
1. Install miniconda and conda-build
2. "conda install thing1 thing2 ..." all the things I can from conda's
servers (this caches a bunch of tar.bz2 files that I can use on the second
machine)
3. For the rest of my required packages, download their zip files so that I
can "pip install" them on the other machine
4. Make a poor-man's local conda channel: mkdir -p my_channel/linux-64 &&
cp anaconda2/pkgs/*.bz2 my_channel/linux-64/
5. Index the channel: conda index my_channel/linux-64
6. tar/zip the channel directory, miniconda, and the pip zip files, and
send it to the offline machine
On the offline (destination) machine:
1. unzip/untar the archive
2. Install miniconda
3. "conda install -c file://full/path/to/my_channel --override-channels
thing1 thing2 ..." in the same order as before
4. "pip install --no-deps" the other zip files
5. profit
This seems like a LOT of steps. Is there a better way to do this? I
haven't found it yet.
I think both "conda list -e" and "conda env export" assume that the
destination machine has internet. Also, this doesn't work very well if I'm
starting from inside an environment on the source/online machine, because
all of miniconda's tar.bz2 files for all environments go into
miniconda2/pkgs, and there seems to be no built-in way to grep out only the
ones I just installed in my environment.
Suggestions are most welcomed.
Best,
Jon
I'm trying to build a single tarball on a machine with internet such that I
can reproduce my "environment" from scratch on a second offline machine
(both linux-64). I feel like I'm doing it wrong, and I'm looking for
help. Here's my current proceedure.
On the online (source) machine:
1. Install miniconda and conda-build
2. "conda install thing1 thing2 ..." all the things I can from conda's
servers (this caches a bunch of tar.bz2 files that I can use on the second
machine)
3. For the rest of my required packages, download their zip files so that I
can "pip install" them on the other machine
4. Make a poor-man's local conda channel: mkdir -p my_channel/linux-64 &&
cp anaconda2/pkgs/*.bz2 my_channel/linux-64/
5. Index the channel: conda index my_channel/linux-64
6. tar/zip the channel directory, miniconda, and the pip zip files, and
send it to the offline machine
On the offline (destination) machine:
1. unzip/untar the archive
2. Install miniconda
3. "conda install -c file://full/path/to/my_channel --override-channels
thing1 thing2 ..." in the same order as before
4. "pip install --no-deps" the other zip files
5. profit
This seems like a LOT of steps. Is there a better way to do this? I
haven't found it yet.
I think both "conda list -e" and "conda env export" assume that the
destination machine has internet. Also, this doesn't work very well if I'm
starting from inside an environment on the source/online machine, because
all of miniconda's tar.bz2 files for all environments go into
miniconda2/pkgs, and there seems to be no built-in way to grep out only the
ones I just installed in my environment.
Suggestions are most welcomed.
Best,
Jon
--
You received this message because you are subscribed to the Google Groups "conda - Public" group.
To unsubscribe from this group and stop receiving emails from it, send an email to conda+***@continuum.io.
To post to this group, send email to ***@continuum.io.
Visit this group at https://groups.google.com/a/continuum.io/group/conda/.
You received this message because you are subscribed to the Google Groups "conda - Public" group.
To unsubscribe from this group and stop receiving emails from it, send an email to conda+***@continuum.io.
To post to this group, send email to ***@continuum.io.
Visit this group at https://groups.google.com/a/continuum.io/group/conda/.