Skip to main content

This module provides functionality to pack conda environments and their dependencies into a specified directory.

Project description

PACKING-PACKAGES

CI docs release-pypi

Ruff mypy

python_badge license_badge PyPI version Downloads

This tool packs a conda environment and all its dependencies into a directory.

You can migrate the packed environment to another offline machine with the same operating system.

Install

# Need python, setuptools, pip package
pip install packing-packages

How to use

See help for available commands and options:

packing-packages --help
packing-packages pack --help
packing-packages install --help

Pack

packing-packages pack -d .

Install

packing-packages install .

Generate install scripts (instead of installing directly)

Use --generate-scripts to create reusable install scripts that do not depend on this package. These scripts can be copied and executed on another machine (offline), and work across platforms (Windows batch and Unix/Linux shell).

# Generate scripts in the package directory (default)
packing-packages install . --generate-scripts

# Specify environment name and output directory explicitly
packing-packages install /path/to/packages \
  --generate-scripts \
  --env-name myenv \
  --output-dir /path/to/output

Generated files:

  • install_packages.bat (Windows)
  • install_packages.sh (Unix/Linux)

Notes:

  • If --env-name is omitted with --generate-scripts, the environment name defaults to the package directory name.
  • If --output-dir is omitted, scripts are written to the package directory.

Example

Source device

conda activate <envname>
python -m pip install packing-packages
python -m packing_packages pack -d .

Destination device (offline)

conda create -yn <envname> --offline
conda activate <envname>
conda install --use-local --offline ./conda/*
python -m pip install --no-deps --no-build-isolation ./pypi/*

Alternatively, if you generated install scripts on the source device:

# Windows
install_packages.bat

# Unix/Linux
./install_packages.sh

Notes

Installing PyTorch from a Non-PyPI Source

If you need to download packages from a source other than PyPI (e.g., the official PyTorch index), standard methods may not complete successfully. Some packages may fail to download and require manual handling. Automated support is not currently provided for that case.

# Installation command
pip install torch==2.5.1 --index-url https://download.pytorch.org/whl/cu124

# Download command (without dependencies)
# --no-deps: download only the specified package
# -d: set the destination directory
pip download torch==2.5.1 --index-url https://download.pytorch.org/whl/cu124 --no-deps -d .

Handling Installation Failures with --use-pep517

Some older packages may not install successfully using pip install. In such cases, installing with the --use-pep517 option may help:

pip install <package-name> --use-pep517

Choosing Between Standard Install Commands and packing-packages install

There are two main methods for installing packages:

  1. Using conda install or pip install
  2. Using the packing-packages install command, which wraps these tools and provides error handling
Command Advantages Disadvantages
conda install / pip install Fast execution Stops immediately upon error
packing-packages install Skips failed packages and reports them Slower overall process

Packing an Environment Using a .yaml File

If you already have an environment file (.yaml), you can create and pack the environment on an online machine with the same OS:

You can now pack from a YAML file even on a different OS using the following command:

packing-packages pack yaml /path/to/file.yaml

Using a Proxy (If Required)

If you are in an environment that requires a proxy, you may need to configure the proxy settings before downloading or installing packages:

export HTTP_PROXY="your proxy"
export HTTPS_PROXY="your proxy"

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

packing_packages-0.3.1.tar.gz (25.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

packing_packages-0.3.1-py3-none-any.whl (29.7 kB view details)

Uploaded Python 3

File details

Details for the file packing_packages-0.3.1.tar.gz.

File metadata

  • Download URL: packing_packages-0.3.1.tar.gz
  • Upload date:
  • Size: 25.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for packing_packages-0.3.1.tar.gz
Algorithm Hash digest
SHA256 3989d259ea77dd66cb5e721a10266b49dad4b4df6df0934233f8d267f958232c
MD5 ac1c951fd84057c99d787c75605915d8
BLAKE2b-256 3eb5b499a8fe4e8260773dc278cae04c293ba2641d5efcaa53cc123634cee294

See more details on using hashes here.

Provenance

The following attestation bundles were made for packing_packages-0.3.1.tar.gz:

Publisher: release-pypi.yml on yu9824/packing-packages

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file packing_packages-0.3.1-py3-none-any.whl.

File metadata

File hashes

Hashes for packing_packages-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d938acbe6a16401277fc1ee4d7b34c1732f46ae8ea00d9b2edc4c504f65faedb
MD5 71906e03e14a2c48472873d2f1c600cc
BLAKE2b-256 c3473bbe45a8a6cbd4680846afd7a9dadaf47c749e9b453f425946b9957ec9b7

See more details on using hashes here.

Provenance

The following attestation bundles were made for packing_packages-0.3.1-py3-none-any.whl:

Publisher: release-pypi.yml on yu9824/packing-packages

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page