Skip to content

Instantly share code, notes, and snippets.

@Hrissimir
Created January 18, 2024 11:42
Show Gist options
  • Save Hrissimir/dbf1a7e0e7857a6257a360beff0f48c5 to your computer and use it in GitHub Desktop.
Save Hrissimir/dbf1a7e0e7857a6257a360beff0f48c5 to your computer and use it in GitHub Desktop.
Set global env vars values configuring python, pip, virtualenv and pipenv
@ECHO OFF
REM ============================================================================
REM Purpose:
REM - Set global env vars values configuring python, pip, virtualenv and pipenv
REM ============================================================================
REM Pros:
REM - Newly created venvs will be "fully isolated" from the system environment
REM - Using this configuration will prevent accidental changes to the system env
REM - When using this config backups are made before upgrading existing packages
REM ============================================================================
REM Cons:
REM - Venv creation will be slower because copies are made instead of symlinks
REM - Newly created venvs will take more space due all the copies that were made
REM - Using this configuration will negatively impact the life of your SSD drive
REM ============================================================================
REM Usage:
REM - Save this file
REM - Open CMD as Administrator
REM - CD into the same folder
REM - Run the file
REM - Wait for the script to complete
REM - Close CMD
REM ============================================================================
REM Notes:
REM - Just pasting the current file contents in CMD will not work as expected
REM ============================================================================
REM If you get errors during 'pip install', uncomment the lines below and re-run
REM SETX LANG en_US.UTF-8 /M
REM SETX LC_ALL en_US.UTF-8 /M
REM SETX ARCHFLAGS "-arch x86_64" /M
REM SETX CFLAGS -m64 /M
REM SETX CXXFLAGS -m64 /M
REM SETX LDFLAGS -m64 /M
REM SETX DB2CODEPAGE 1208 /M
REM ============================================================================
SETX PYTHONCASEOK 1 /M
SETX PYTHONDONTWRITEBYTECODE 1 /M
SETX PYTHONIOENCODING utf-8:backslashreplace /M
SETX PYTHONUNBUFFERED 1 /M
SETX PYTHONUTF8 1 /M
REM ============================================================================
SETX PIP_DEFAULT_TIMEOUT 60 /M
SETX PIP_EXISTS_ACTION b /M
SETX PIP_REQUIRE_VIRTUALENV 1 /M
SETX PIP_RETRIES 1 /M
SETX PIP_TIMEOUT 60 /M
SETX PIP_VERBOSE 1 /M
REM ============================================================================
SETX PIPENV_DONT_LOAD_ENV 0 /M
SETX PIPENV_DONT_USE_ASDF 1 /M
SETX PIPENV_DONT_USE_PYENV 1 /M
SETX PIPENV_HIDE_EMOJIS 1 /M
SETX PIPENV_IGNORE_VIRTUALENVS 0 /M
SETX PIPENV_INSTALL_TIMEOUT 900 /M
SETX PIPENV_MAX_RETRIES 1 /M
SETX PIPENV_NOSPIN 1 /M
SETX PIPENV_NO_INHERIT 1 /M
SETX PIPENV_QUIET 0 /M
SETX PIPENV_REQUESTS_TIMEOUT 10 /M
SETX PIPENV_RESOLVE_VCS 1 /M
SETX PIPENV_SHELL_FANCY 1 /M
SETX PIPENV_SITE_PACKAGES 0 /M
SETX PIPENV_SKIP_LOCK 0 /M
SETX PIPENV_TIMEOUT 120 /M
SETX PIPENV_VENV_IN_PROJECT 1 /M
SETX PIPENV_VERBOSE 1 /M
SETX PIPENV_VERBOSITY -1 /M
SETX PIPENV_VIRTUALENV_ACTIVATORS bash,batch,python /M
SETX PIPENV_VIRTUALENV_ALWAYS_COPY 1 /M
SETX PIPENV_VIRTUALENV_CLEAR 1 /M
SETX PIPENV_VIRTUALENV_COPIES 1 /M
SETX PIPENV_VIRTUALENV_CREATOR venv /M
SETX PIPENV_VIRTUALENV_DOWNLOAD 1 /M
SETX PIPENV_VIRTUALENV_NEVER_DOWNLOAD 0 /M
SETX PIPENV_VIRTUALENV_NO_DOWNLOAD 0 /M
SETX PIPENV_VIRTUALENV_NO_PIP 0 /M
SETX PIPENV_VIRTUALENV_NO_SEED 0 /M
SETX PIPENV_VIRTUALENV_NO_SETUPTOOLS 0 /M
SETX PIPENV_VIRTUALENV_NO_VCS_IGNORE 1 /M
SETX PIPENV_VIRTUALENV_NO_WHEEL 0 /M
SETX PIPENV_VIRTUALENV_PIP embed /M
SETX PIPENV_VIRTUALENV_SEEDER pip /M
SETX PIPENV_VIRTUALENV_SETUPTOOLS embed /M
SETX PIPENV_VIRTUALENV_SYMLINKS 0 /M
SETX PIPENV_VIRTUALENV_SYMPLINK_APP_DATA 0 /M
SETX PIPENV_VIRTUALENV_SYSTEM_SITE_PACKAGES 0 /M
SETX PIPENV_VIRTUALENV_VERBOSE 4 /M
SETX PIPENV_VIRTUALENV_VERBOSITY 4 /M
SETX PIPENV_VIRTUALENV_WHEEL embed /M
SETX PIPENV_VIRTUALENV_WITHOUT_PIP 0 /M
SETX PIPENV_VIRTUALENV_WITH_TRACEBACK 1 /M
SETX PIPENV_YES 1 /M
REM ============================================================================
SETX HATCH_BUILD_CLEAN 1 /M
REM ============================================================================
SETX VIRTUALENV_ACTIVATORS bash,batch,python /M
SETX VIRTUALENV_ALWAYS_COPY 1 /M
SETX VIRTUALENV_CLEAR 1 /M
SETX VIRTUALENV_COPIES 1 /M
SETX VIRTUALENV_CREATOR venv /M
SETX VIRTUALENV_DOWNLOAD 1 /M
SETX VIRTUALENV_NEVER_DOWNLOAD 0 /M
SETX VIRTUALENV_NO_DOWNLOAD 0 /M
SETX VIRTUALENV_NO_PIP 0 /M
SETX VIRTUALENV_NO_SEED 0 /M
SETX VIRTUALENV_NO_SETUPTOOLS 0 /M
SETX VIRTUALENV_NO_VCS_IGNORE 1 /M
SETX VIRTUALENV_NO_WHEEL 0 /M
SETX VIRTUALENV_PIP embed /M
SETX VIRTUALENV_SEEDER pip /M
SETX VIRTUALENV_SETUPTOOLS embed /M
SETX VIRTUALENV_SYMLINKS 0 /M
SETX VIRTUALENV_SYMPLINK_APP_DATA 0 /M
SETX VIRTUALENV_SYSTEM_SITE_PACKAGES 0 /M
SETX VIRTUALENV_VERBOSE 4 /M
SETX VIRTUALENV_VERBOSITY 4 /M
SETX VIRTUALENV_WHEEL embed /M
SETX VIRTUALENV_WITHOUT_PIP 0 /M
SETX VIRTUALENV_WITH_TRACEBACK 1 /M
REM ----------------------------------------------------------------------------
ECHO Close and re-open CMD to make the new env. vars values effective!
@ECHO ON && EXIT /B
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment