Migrate virtual environments from other tools (pyenv-virtualenv, virtualenvwrapper, conda).
# List migratable environments
scoop migrate list
# Migrate a single environment
scoop migrate @<name>
# Migrate all environments
scoop migrate --all
| Subcommand | Description |
list | List environments available for migration |
@<name> | Migrate a single environment by name |
--all | Migrate all discovered environments |
| Source | Detection |
| pyenv-virtualenv | ~/.pyenv/versions/ (non-system virtualenvs) |
| virtualenvwrapper | $WORKON_HOME or ~/.virtualenvs/ |
| conda | conda info --envs |
| Option | Description |
--json | Output as JSON |
--quiet | Suppress output |
--no-color | Disable colored output |
$ scoop migrate list
📦 Migratable Environments
pyenv-virtualenv:
• myproject (Python 3.12.0)
• webapp (Python 3.11.8)
conda:
• ml-env (Python 3.10.4)
$ scoop migrate @myproject
✓ Migrated 'myproject' from pyenv-virtualenv
Source: ~/.pyenv/versions/myproject
Target: ~/.scoop/virtualenvs/myproject
$ scoop migrate --all
✓ Migrated 3 environments
• myproject (pyenv-virtualenv)
• webapp (pyenv-virtualenv)
• ml-env (conda)
$ scoop migrate list --json
{
"status": "success",
"data": {
"environments": [
{
"name": "myproject",
"source": "pyenv",
"python_version": "3.12.0"
}
]
}
}
- Discovery: Scans configured source paths for virtual environments
- Extraction: Identifies Python version and installed packages
- Recreation: Creates new scoop environment with same Python version
- Package Install: Reinstalls packages using
uv pip install
- Cleanup: Original environment is preserved (not deleted)
- Original environments are not deleted during migration
- Package versions are preserved where possible
- Migration creates fresh environments using
uv for improved performance