# PyPI Mirror
# Introduction
PyPI (opens new window), a.k.a. the Python Package Index, is a centralized "repository of software for the Python programming language".
The PyPI Mirror is synchronized with pypi.org (opens new window) with bandersnatch (opens new window).
# TL;DR
pip install --upgrade pip --index-url https://mirrors.sustech.edu.cn/pypi/web/simple
pip config set global.index-url https://mirrors.sustech.edu.cn/pypi/web/simple
That's all.
# Detailed Instructions
# 1. Confirm your python environment
The python
and pip
commands you're using may be
- installed with package manager (e.g.,
apt-get
,yum
, etc.) - self-compiled
- isolated by a python 3 venv (virtual environment)
- equipped with Anaconda or installed in a conda virtual environment
- bundled with Intel Parallel Studio
- ...
You can execute the following commands to gain insight into the pip
command that you are using.
which pip
pip --version
For Python 3 Users:
You may need to replace pip
with pip3
.
# 2. Configure Index-url
# For pip >= 10.0
pip config set global.index-url https://mirrors.sustech.edu.cn/pypi/web/simple
- Use the
https
schema instead ofhttp
- Don't omit
simple
# For older versions
You can upgrade to the latest version first:
# you may need root privilege
pip install --upgrade pip --index-url https://mirrors.sustech.edu.cn/pypi/web/simple
Or, you can stay with the old version and manually edit the configuration file with your text editor:
[global]
index-url = https://mirrors.sustech.edu.cn/pypi/web/simple
Path of the per-user configuration file:
- Linux:
$HOME/.config/pip/pip.conf
- macOS:
$HOME/Library/Application Support/pip/pip.conf
or$HOME/.config/pip/pip.conf
- Windows:
%APPDATA%\pip\pip.ini
You may create a new file if it doesn't exist.
You can refer to pip user guide (opens new window) for per-virtualenv or site-wide configuration.
# Temporary Use
pip install package-name --index-url https://mirrors.sustech.edu.cn/pypi/web/simple
# Install Packages without Root Privilege
In an environment where you have no root access, like SUSTech Taiyi/Qiming HPC or your lab machines, you are still able to install the python dependencies you want.
# Option 1: Python 3 Venv (Suggested)
You can create multiple virtual environments in your home directory so that you can have dependencies of different versions for different projects.
# 1. Create a virtual environment
[user@host ~]$ python3 -m venv ~/venv-torch
# 2. Activate the virtual environment
[user@host ~]$ source ~/venv-torch/bin/activate
# 3. Now you are in the venv
(venv-torch) [user@host ~]$ pip install --upgrade pip # optional
(venv-torch) [user@host ~]$ pip install torch torchvision
(venv-torch) [user@host ~]$ python my_awesome_network.py
# 4. Leave the virtual environment
(venv-torch) [user@host ~]$ deactivate
[user@host ~]$ # now you've come back
Essentially, this approach creates symbolic links for system-wide python.
Please refer to https://docs.python.org/3/library/venv.html (opens new window) for detailed usage.
# Option 2: Pip User Install
Suppose you're using Python 3.7 and you want to install Numpy. You can simply run:
pip install --user numpy # you may need to use pip3
By default, numpy
would be installed to ~/.local/lib/python3.7/site-packages/numpy-*
. This method is not suggested if you are sharing an account with others.
Please refer to https://pip.pypa.io/en/stable/user_guide/#user-installs (opens new window) for detailed usage.
# Option 3: Conda virtual environment
If you need Python of different versions, for example, Python 3.4 for project A and Python 3.7 for project B, you can consider create several Conda environments.
Please refer to https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html (opens new window) for detailed usage.