Windows和macOS如何修改Python模块venv的pip版本

Windows

1. 确认安装的Python版本,pip确认安装路径,找到ensurepip模块

PS C:\Users\yangqing> pip.exe -V
pip 24.3.1 from C:\Program Files\Python312\Lib\site-packages\pip (python 3.12)
PS C:\Users\yangqing>

注:这里找 Python 自带模块不是安装模块路径,找到ensurepip自带模块

2. 下载 pip 最新包,并修改ensurepip模块

PS C:\Users\yangqing> cd 'C:\Program Files\Python312\Lib\ensurepip\'
PS C:\Program Files\Python312\Lib\ensurepip> pip.exe download pip -d .\_bundled\
Looking in indexes: http://mirrors.aliyun.com/pypi/simple/
Collecting pip
  Downloading http://mirrors.aliyun.com/pypi/packages/c9/bc/b7db44f5f39f9d0494071bddae6880eb645970366d0a200022a1a93d57f5/pip-25.0.1-py3-none-any.whl (1.8 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.8/1.8 MB 971.9 kB/s eta 0:00:00
Saved c:\program files\python312\lib\ensurepip\_bundled\pip-25.0.1-py3-none-any.whl
Successfully downloaded pip
PS C:\Program Files\Python312\Lib\ensurepip>

# 编辑当前目录__init__.py文件,版本对上刚刚下载的 pip 版本
PS C:\Program Files\Python312\Lib\ensurepip> more .\__init__.py
import collections
import os
import os.path
import subprocess
import sys
import sysconfig
import tempfile
from importlib import resources


__all__ = ["version", "bootstrap"]
_PACKAGE_NAMES = ('pip',)
#_PIP_VERSION = "24.2"
_PIP_VERSION = "25.0.1"
_PROJECTS = [
    ("pip", _PIP_VERSION, "py3"),
]
PS C:\Program Files\Python312\Lib\ensurepip>

3. 验证是否修改成功

PS C:\Users\yangqing\Downloads> py -m venv py-venv
PS C:\Users\yangqing\Downloads> . .\py-venv\Scripts\activate
(py-venv) PS C:\Users\yangqing\Downloads> pip -V
pip 25.0.1 from C:\Users\yangqing\Downloads\py-venv\Lib\site-packages\pip (python 3.12)
(py-venv) PS C:\Users\yangqing\Downloads> pip list
Package Version
------- -------
pip     25.0.1
(py-venv) PS C:\Users\yangqing\Downloads>

4. 可以自由的安装 Python 模块了,例如:

(py-venv) PS C:\Users\yangqing\Downloads> pip install hellocn
Looking in indexes: http://mirrors.aliyun.com/pypi/simple/
Collecting hellocn
  Using cached http://mirrors.aliyun.com/pypi/packages/a9/b6/645887d6b03aac6a09c76d5ed63b4c4fe866d76a4394ea3939a869483a71/hellocn-1.2.0-py3-none-any.whl (2.8 kB)
Installing collected packages: hellocn
Successfully installed hellocn-1.2.0
(py-venv) PS C:\Users\yangqing\Downloads> pip list
Package Version
------- -------
hellocn 1.2.0
pip     25.0.1
(py-venv) PS C:\Users\yangqing\Downloads> pip show hellocn
Name: hellocn
Version: 1.2.0
Summary: A small example package.
Home-page: https://github.com/gogv/hello
Author: YangQing
Author-email: yangqing@gitc.cc
License: MIT
Location: C:\Users\yangqing\Downloads\py-venv\Lib\site-packages
Requires:
Required-by:
(py-venv) PS C:\Users\yangqing\Downloads> deactivate
PS C:\Users\yangqing\Downloads>

macOS

1. 确认安装的Python版本,pip确认安装路径,找到ensurepip模块

yangqing@Mac ~ % pip3 -V
pip 25.0.1 from /Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/site-packages/pip (python 3.9)
yangqing@Mac ~ % 

注:这里找 Python 自带模块不是安装模块路径,找到ensurepip自带模块

2. 下载 pip 最新包,并修改ensurepip模块

cd /Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/ensurepip
yangqing@Mac ensurepip % pip3 download pip setuptools -d _bundled 
Collecting pip
  File was already downloaded /Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/ensurepip/_bundled/pip-25.0.1-py3-none-any.whl
Collecting setuptools
  File was already downloaded /Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/ensurepip/_bundled/setuptools-75.8.2-py3-none-any.whl
Successfully downloaded pip setuptools
yangqing@Mac ensurepip %

# 编辑当前目录__init__.py文件,版本对上刚刚下载的 pip 和 setuptools 包
yangqing@Mac ensurepip % more __init__.py 
import os
import os.path
import sys
import runpy
import tempfile
import subprocess
from importlib import resources
from . import _bundled

__all__ = ["version", "bootstrap"]

#_SETUPTOOLS_VERSION = "58.0.4"
_SETUPTOOLS_VERSION = "75.8.2"

#_PIP_VERSION = "21.2.4"
_PIP_VERSION = "25.0.1"

_PROJECTS = [
    ("setuptools", _SETUPTOOLS_VERSION, "py3"),
    ("pip", _PIP_VERSION, "py3"),
]
yangqing@Mac ensurepip %

3. 验证是否修改成功

yangqing@Mac Downloads % python3 -m venv py-venv
yangqing@Mac Downloads % . py-venv/bin/activate
(py-venv) yangqing@Mac Downloads % pip -V
pip 25.0.1 from /Users/yangqing/Downloads/py-venv/lib/python3.9/site-packages/pip (python 3.9)
(py-venv) yangqing@Mac Downloads % pip list
Package    Version
---------- -------
pip        25.0.1
setuptools 75.8.2
(py-venv) yangqing@Mac Downloads %

4. 可以自由的安装 Python 模块了,例如:

(py-venv) yangqing@Mac Downloads % pip install hellocn
Collecting hellocn
  Using cached hellocn-1.2.0-py3-none-any.whl.metadata (531 bytes)
Using cached hellocn-1.2.0-py3-none-any.whl (2.8 kB)
Installing collected packages: hellocn
Successfully installed hellocn-1.2.0
(py-venv) yangqing@Mac Downloads % pip list
Package    Version
---------- -------
hellocn    1.2.0
pip        25.0.1
setuptools 75.8.2
(py-venv) yangqing@Mac Downloads % pip show hellocn
Name: hellocn
Version: 1.2.0
Summary: A small example package.
Home-page: https://github.com/gogv/hello
Author: YangQing
Author-email: yangqing@gitc.cc
License: MIT
Location: /Users/yangqing/Downloads/py-venv/lib/python3.9/site-packages
Requires: 
Required-by: 
(py-venv) yangqing@Mac Downloads % 
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。