【Python】自定义pip安装路径
因为某些原因卸载了电脑上的python,重新安装之后发现,pip安装的目录是之前老版本的目录,有些库和电脑的内核不兼容,所以之前安装的库需要清理重新安装,固定一个目录安装,这样不会在重新安装python之后,再重新配置。
自定义pip安装路径
我们直接上手实操。
1.查看目前pip使用的路径
使用命令
python -m site
sys.path = [
'/Users/mac/Library/Python',
'/Library/Frameworks/Python.framework/Versions/3.10/lib/python310.zip',
'/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10',
'/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/lib-dynload',
'/Users/mac/Library/Python/3.10/lib/python/site-packages',
'/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages',
]
USER_BASE: '/Users/mac/Library/Python/3.10' (exists)
USER_SITE: '/Users/mac/Library/Python/3.10/lib/python/site-packages' (exists)
ENABLE_USER_SITE: True
返回的信息可以看出,我python新安装的目录是/Library/Frameworks/Python.framework/Versions/3.10,但是pip安装的目录是/Users/mac/Library/Python/3.10/lib/python/site-packages。
我们需要做一下目录改变。
2.改变pip的安装路径
2.1 找到 site.py 文件
使用 python -m site -help 命令,我们可以看到目前我们的site.py文件是在哪个位置:
python -m site -help
最上面就是我们site.py文件的地址
/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site.py [--user-base] [--user-site]
Without arguments print some useful information
With arguments print the value of USER_BASE and/or USER_SITE separated
by ':'.
Exit codes with --user-base or --user-site:
0 - user site directory is enabled
1 - user site directory is disabled by user
2 - user site directory is disabled by super user
or for security reasons
>2 - unknown error
2.2 修改 site.py 文件中的目录地址
找到文件中的 USER_SITE 和 USER_BASE
# Prefixes for site-packages; add additional prefixes like /usr/local here
PREFIXES = [sys.prefix, sys.exec_prefix]
# Enable per user site-packages directory
# set it to False to disable the feature or True to force the feature
ENABLE_USER_SITE = None
# for distutils.commands.install
# These values are initialized by the getuserbase() and getusersitepackages()
# functions, through the main() function when Python starts.
USER_SITE = None
USER_BASE = None
我们复制原来的变量在下面修改,把原来的变量注释。
# Prefixes for site-packages; add additional prefixes like /usr/local here
PREFIXES = [sys.prefix, sys.exec_prefix]
# Enable per user site-packages directory
# set it to False to disable the feature or True to force the feature
ENABLE_USER_SITE = None
# for distutils.commands.install
# These values are initialized by the getuserbase() and getusersitepackages()
# functions, through the main() function when Python starts.
# USER_SITE = None
# USER_BASE = None
USER_SITE = '/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages'
USER_BASE = '/Library/Frameworks/Python.framework/Versions/3.10'
2.3 查看是否修改成功
执行以下命令
python3 -m site
返回信息:
sys.path = [
'/Users/mac/Library/Python',
'/Library/Frameworks/Python.framework/Versions/3.10/lib/python310.zip',
'/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10',
'/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/lib-dynload',
'/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages',
]
USER_BASE: '/Library/Frameworks/Python.framework/Versions/3.10' (exists)
USER_SITE: '/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages' (exists)
再次使用 pip3 install xxxx
正确安装到上面设置的USER_SITE目录中。