{"id":23667690,"url":"https://github.com/mrmathematica/venv-pack2","last_synced_at":"2025-09-01T20:33:08.866Z","repository":{"id":44449231,"uuid":"509462026","full_name":"mrmathematica/venv-pack2","owner":"mrmathematica","description":"Package virtual environments for redistribution","archived":false,"fork":false,"pushed_at":"2024-10-10T13:31:59.000Z","size":108,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2024-12-25T19:24:53.782Z","etag":null,"topics":["venv","venv-python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"gipeto/venv-pack","license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mrmathematica.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2022-07-01T13:17:31.000Z","updated_at":"2024-10-10T13:32:03.000Z","dependencies_parsed_at":"2023-12-22T21:33:01.132Z","dependency_job_id":"672c6b90-7bf8-4531-804b-1487ea00b799","html_url":"https://github.com/mrmathematica/venv-pack2","commit_stats":null,"previous_names":["mrmathematica/venv-pack"],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrmathematica%2Fvenv-pack2","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrmathematica%2Fvenv-pack2/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrmathematica%2Fvenv-pack2/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrmathematica%2Fvenv-pack2/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mrmathematica","download_url":"https://codeload.github.com/mrmathematica/venv-pack2/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":231713078,"owners_count":18415194,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["venv","venv-python"],"created_at":"2024-12-29T07:45:10.590Z","updated_at":"2024-12-29T07:45:11.162Z","avatar_url":"https://github.com/mrmathematica.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Venv-Pack\n\nThis is based on [venv-pack](https://github.com/jcrist/venv-pack) but with lots of improvements added by\n[mrmathematica](https://github.com/mrmathematica/). It has Windows support. Bin/Scripts generated by venv will\nwork out-of-box.\n\nVenv-pack is a command-line tool for packaging virtual environments for distribution. This is useful for deploying code\nin a consistent environment.\n\nSupports virtual environments created using python3/venv. Venv is part of the python standard library.\n\n## Install from source\n\nvenv-pack is available on github and can always be installed from source.\n\n```\npip install git+https://github.com/mrmathematica/venv-pack.git\n```\n\n## Install from pypi\n\nvenv-pack is available on pypi as `venv-pack2`.\n\n```\npip install venv-pack2\n```\n\n## Command-line Usage\n\nOne common use case is packing an environment on one machine to distribute to other machines as part of a deployment\nprocess.\n\n### On the source machine\n\nCreate venv, and then upgrade pip + setuptools first:\n```\npython -m venv venv\nvenv\\Scripts\\activate\npython -m pip install -U pip setuptools\n```\n\nPython generates Windows .exe file such as pip.exe on the fly, so on Windows there is restriction that you want to fix a\nversion of pip and setuptools at the beginning and stick with it. If needed, re-create new venv from a lock file. See\n[pip-tools](https://github.com/jazzband/pip-tools).   \n\nInstall all your python packages, for example\n```\npip install -r requirements.txt\n```\n\nPack the current environment into my_env.zip\n```\nvenv-pack -o env.zip\n```\n\nPack an environment located at an explicit path into my_env.zip\n```\nvenv-pack -p explicit\\path\\to\\env -o env.zip \n```\n\n### On the target machine\n\nUnpack environment into directory `my_env`\n```\nmd my_env\npython -m zipfile -e venv.zip my_env\\ \n```\n\nAll features of venv should keep working from my_env folder. \n\n## Caveats\n\nThis tool is new, and has a few caveats.\n\n1. Python is not packaged with the environment, but rather symlinked in the environment. On Windows python venv does so in a pyvenv.cfg file. This is useful for deployment situations where Python is already installed on the machine, but the required library dependencies may not be.\n2. The os type where the environment was built must match the os type of the target. This means that environments built on windows can’t be relocated to linux.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmrmathematica%2Fvenv-pack2","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmrmathematica%2Fvenv-pack2","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmrmathematica%2Fvenv-pack2/lists"}