Common Issues
Lock File Issues
Symptom: Metaflow hangs with a message about waiting for a lock file.Environment Not Found
Symptom: Error about environment not existing.Environment only exists remotely
Environment only exists remotely
You’re using
--local-only but the environment hasn’t been fetched locally.Solution: Remove --local-only or fetch the environment first:Wrong architecture
Wrong architecture
Environment was resolved for a different architecture.Solution: Specify the correct architecture:
Typo in name
Typo in name
The environment name is incorrect.Solution: List available environments or check the exact name.
Resolution Failures
Symptom: Resolution fails with package conflicts.- Loosen Constraints
- Different Channels
- Pure PyPI
Try relaxing version constraints:
Cross-Architecture Resolution Failures
Symptom: Cannot resolve when developing on Mac for Linux deployment.# This won't work cross-architecture:
# mypackage @ git+https://github.com/user/repo.git
# Build a wheel instead:
mypackage==1.0.0
Mixed Mode Limitations
Symptom: Cannot use certain PyPI packages in mixed conda+pip mode.- Git repositories
- Local directories
- Editable installs
- Packages requiring compilation
- Pure PyPI
- Conda Only
Use pure PyPI mode if you need Git packages:
requirements.txt
Package Format Issues
Symptom: Environment creation fails with mixed.conda and .tar.bz2 packages.
.conda and .tar.bz2 packages fail in offline mode.
Solution:
Debugging Techniques
Enable Debug Output
Get detailed information about what Conda v2 is doing:- Resolution steps
- Package downloads
- Environment creation
- Cache operations
Inspect Resolved Environment
See exactly what packages are in an environment:- Package versions
- Resolution date/user
- Architecture
- Local presence
Check Local Cache
Inspect the local cache file:Test Resolution Manually
Test resolution without running the flow:Force Re-Resolution
Force resolution to pick up new packages:Known Issues
Micromamba Transmutation
Issue: Micromamba cannot transmute packages across architectures due to mamba#2328. Workaround: Installconda-package-handling for cross-architecture transmutation:
Conda Offline Mode
Issue: Conda/mamba fail to create environments with mixed package formats in offline mode due to conda#11775. Workaround: Use micromamba, which doesn’t have this issue:Environment Markers Not Supported
Issue: PEP 508 environment markers in requirements.txt are not supported.Editable Installs Not Supported
Issue: Editable installs (pip install -e) are not supported.
Migration from Conda Beta
Changes from Beta
Argument Changes
Argument Changes
Some decorator arguments have been deprecated:
pip_packages→ Use@pypi(packages=)pip_sources→ Use@pypi(extra_indices=)sources→ Use@pypi(extra_indices=)name→ Use@named_env(name=)pathspec→ Use@named_env(pathspec=)fetch_at_exec→ Use@named_env(fetch_at_exec=)
Cache Location Changes
Cache Location Changes
Cache directories have changed. Set these to new values if using both versions:
Migration Steps
# Old (beta):
@conda(pip_packages={"requests": "2.28.0"})
# New:
@pypi(packages={"requests": "2.28.0"})
Getting Help
Check Debug Output
Always include debug output when reporting issues:Community Support
Get help from the Metaflow community:Slack
Join the Metaflow community Slack
GitHub Issues
Report bugs or request features
Information to Include
When reporting issues, include:- Metaflow version:
metaflow version - Extension version:
pip show metaflow-extensions-netflix - Operating system and architecture
- Debug output:
METAFLOW_DEBUG_CONDA=1 - Requirements file or decorator code
- Full error message and stack trace
Performance Tips
Use .conda Format
Significant speedup with.conda packages:
Use mamba or micromamba
Faster resolution than conda:Cache Environments
Ensure caching is enabled:Use Named Environments
Share pre-resolved environments:Enable Remote Latest
Avoid re-resolving on each machine:Next Steps
Configuration
Optimize your configuration
Overview
Review core concepts
