pip não é redefinido quando você cria um novo ambiente virtual. Quando você cria um novo ambiente virtual, venv executa uma nova instalação de pip e setuptools nesse ambiente. De onde vem a versão pip ? Quando você executa python -m venv , a instalação de pip é de responsabilidade do módulo ensurepip que inicializa uma nova instalação pip . Você pode verificar o que o pip version é empacotado com o Python 3.7:
$ python3 -c "import ensurepip; print(ensurepip.version())"
10.0.1
Isso não é nada que você possa atualizar ou modificar sozinho; o módulo faz parte da biblioteca padrão. Quando o Python 3.7 foi lançado, o último pip foi da versão 10.0.1, então foi incluído ( problema relacionado ). A versão 18 foi lançada mais tarde. Da próxima vez, provavelmente será atualizado na próxima versão do Python (3.7.1).
Alternativa: usando virtualenv
Se você quiser que o último pip seja instalado em um ambiente virtual novo, poderá alternar para virtualenv :
$ pip install --user virtualenv
ou instale todo o sistema usando pacman :
$ pacman -S python-virtualenv
virtualenv é atualizado com mais frequência do que o Python, portanto, a versão mais recente instala os pacotes mais recentes. Exemplo de uso:
$ virtualenv myenv --python=python3 --quiet
$ source myenv/bin/activate
(myenv) $ pip --version
pip 18.0 from /Users/hoefling/.virtualenvs/myenv/lib/python3.7/site-packages/pip (python 3.7)