PINGInstaller
Light-weight application for installing PINGMapper and associated packages. PINGInstaller is designed to install a conda environment from a yml specified as a URL or localy hosted yml.
Example yml file structure:
name: ping
channels:
- conda-forge
dependencies:
- python<3.13
- gdal
- numpy
- git
- pandas
- geopandas
- pyproj<3.7.1
- scikit-image
- joblib
- matplotlib
- rasterio
- h5py
- opencv
- pip
- pip:
- pingverter
- pingmapper
- pingwizard
- pinginstaller
- doodleverse_utils
- psutil
- tensorflow
- tf-keras
- transformers
- rsa
The special thing about PINGInstaller is that it will install the conda environment based on the conda prompt it is launched from. This enables end-users with multiple conda installations to choose the flavor of conda as needed.
Supported prompts include (but may not be limited to):
PINGInstaller is also compatible with projects in the Doodlevers.
Installation & Usage
Step 1
Open (download, if not already available) the conda prompt you want to use (ex: On Windows 11 - Start --> All --> Anaconda (miniconda3) --> Anaconda Powershell Prompt).
Step 2
Install PINGInstaller in the base environment with:
pip install pinginstaller
Step 3
Then install the environment from a web or locally hosted yml with:
python -m pinginstaller https://github.com/CameronBodine/PINGMapper/blob/main/conda/PINGMapper.yml
That's it! Your environment is now ready to use.
If you want to update the environment, simply re-run the environment installation script with:
python -m pinginstaller https://github.com/CameronBodine/PINGMapper/blob/main/conda/PINGMapper.yml
Ta-ta for now!
Troubleshooting
"Access is denied" When Updating from Wizard
Problem: When updating via PINGWizard, you see:
remove_all: Access is denied.
Cause: In rare cases, file locking can prevent updates when the wizard is running from the environment being updated.
Solution: PINGWizard (v1.0.12+) automatically runs updates from the base environment to avoid this. If you still see this error:
- Update PINGWizard:
pip install pingwizard -U - Or manually run from base:
conda activate base && python -m pingwizard
"Non-conda folder exists at prefix" Error
Problem: When creating an environment, you see:
error libmamba Non-conda folder exists at prefix - aborting.
critical libmamba Non-conda folder exists at prefix - aborting.
Cause: A leftover directory exists at the environment location (e.g., Z:\miniforge3\envs\ping) that's not a valid conda environment. This can happen after an incomplete removal or failed installation.
Solution: Manually remove the directory and try again:
# Windows PowerShell
Remove-Item -Recurse -Force "Z:\miniforge3\envs\ping"
# Then retry installation
python -m pinginstaller
# Linux/Mac
rm -rf ~/miniforge3/envs/ping
# Then retry installation
python -m pinginstaller
Slow Environment Solving
Problem: Environment creation takes a very long time (>10 minutes).
Solutions:
-
Use mamba (much faster): Install mamba in your base environment:
conda install -n base mamba -y
PINGInstaller automatically detects and uses mamba when available.
-
Check your network connection: Slow downloads can cause delays.
-
Clear conda cache:
conda clean --all -y
"Package Not Found" or Solver Errors
Problem: Conda/mamba cannot find required packages or conflicts prevent solving.
Solutions:
-
Update conda/mamba:
conda update -n base conda -y # or if using mamba mamba update -n base mamba -y
-
Check channel configuration: Ensure conda-forge is available:
conda config --show channels # Should include conda-forge
-
Update all packages in base:
conda update --all -y
Installation Hangs During Housekeeping
Problem: Installation appears stuck during the "Updating conda/mamba" step.
Solution: Press Ctrl+C to cancel, then run with quiet mode to skip housekeeping updates:
python -m pinginstaller <yml_url> -q
Or skip housekeeping by commenting out the install_housekeeping() call temporarily.
Wrong Conda Installation Being Used
Problem: PINGInstaller is using a different conda installation than expected.
Solution:
-
Verify which conda is active:
which conda # Linux/Mac where conda # Windows
-
Check CONDA_PREFIX:
echo $CONDA_PREFIX # Linux/Mac/PowerShell echo %CONDA_PREFIX% # Windows CMD
-
Activate the correct conda first, then run pinginstaller from that environment.
Mamba Not Being Detected
Problem: PINGInstaller uses conda even though mamba is installed.
Solution:
-
Verify mamba is in base environment:
conda activate base mamba --version
-
Reinstall mamba if needed:
conda install -n base mamba -y
-
Check output: PINGInstaller will print "Using mamba for faster installation" if detected.
Permission Denied Errors
Problem: Cannot write to conda directories.
Solutions:
- Windows: Run PowerShell or Command Prompt as Administrator
- Linux/Mac: Check directory ownership, or reinstall conda in user directory (not system-wide)
Import Errors After Installation
Problem: Packages installed but cannot be imported.
Solutions:
-
Activate the environment first:
conda activate ping python -c "import pingmapper"
-
Verify environment location:
conda env list # Ensure 'ping' environment is listed
-
Check package installation:
conda list | grep pingmapper
Getting Help
If you encounter issues not covered here:
- Check the GitHub Issues
- Enable debug mode for detailed output:
python -m pinginstaller <yml> --debug - Open a new issue with the full error output and your system details
Metadata
Release files for pinginstaller 2.1.13
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pinginstaller-2.1.13.tar.gz | 14.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pinginstaller-2.1.13-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 27.5 kB
Release files / pinginstaller-2.1.13.tar.gz
| Download URL | pinginstaller-2.1.13.tar.gz |
|---|---|
| Size | 14.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5619cbaa6da223183565efab70e6cd17098ae8b6032aa23aa9c2d129da806d72
|
|
BLAKE2b-256 checksum How to use checksums |
5965ac0a7b618e47ea3ec36a30e2d0a0f9be311e11ffeef73ef330753411c06a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.13
|
Release files / pinginstaller-2.1.13-py3-none-any.whl
| Download URL | pinginstaller-2.1.13-py3-none-any.whl |
|---|---|
| Size | 13.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c59a806ca07ae26f0b7f3214afcdd7ecd40b8820cf43badcd2934b2f4ac609db
|
|
BLAKE2b-256 checksum How to use checksums |
652d26c2a08bb4545936e24f17736864a4bbd92712c4bd7b430ef4286a136d4d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.13
|