修改Python解释器和包路径

article/2025/9/15 11:00:37

环境检查

1. 查看当前解释器的位置

在Python文件中执行或者在终端中先进入Python

import sys
print(sys.executable)

以我的电脑为例子,输出 /Library/Frameworks/Python.framework/Versions/3.8/bin/python3

2. 查看当前指向的包存放路径

在Python文件中执行或者在终端中先进入Python

import sys
print(sys.path)

输出结果中有类似packages字样的为路径

我的是  /Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages

(或者直接直接pip show pip,得到一样的结果。)

3. 查看pip的默认目录

在终端执行

which pip

我的是  /Library/Frameworks/Python.framework/Versions/3.8/bin/pip ,说明使用pip install 包名,安装的包会存放在这里

 

一. terminal终端

环境:mac

shell: bash

Python: 手动安装的,如果通过anaconda安装,可以去对应的目录下找解释器位置

 

修改解释器

1. 首先打开~/.bash_profile文件

answers-MacBook-Pro:~ answer$ vim ~/.bash_profile

2. 修改文件

①修改PATH后面绿色的部分,python解释器存放在bin目录下。

②添加alias python=python3,注意“=”前后不能有空格,否则会报错

# Setting PATH for Python 3.8
# The original version is saved in .bash_profile.pysave
PATH="/Library/Frameworks/Python.framework/Versions/3.8/bin:${PATH}"
export PATHalias python=python3

3. 更新环境

answers-MacBook-Pro:~ answer$ source ~/.bash_profile 

4. 查看是否生效

终端输入python或者python --version,可以看到3.8.3的字样,说明当前默认解释器已经是python3.8.3。修改成功

answers-MacBook-Pro:~ answer$ python
Python 3.8.3 (v3.8.3:6f8c8320e9, May 13 2020, 16:29:34) 
[Clang 6.0 (clang-600.0.57)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> 

 

修改包路径

1. 查看配置文件所在路径,在终端执行python -m site help, 如下可以看到site.py 的路径

answers-MacBook-Pro:~ answer$ python -m site help
/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/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 enabled1 - user site directory is disabled by user2 - uses site directory is disabled by super useror for security reasons>2 - unknown error

2.  以管理员的方式进入该文件

answers-MacBook-Pro:~ answer$ sudo vi /Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site.py

3.  在文件里直接用/ENABLE搜索找到下面这三个参数

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

4.  修改参数

上方改为True,下方USER_SITE,包存放的位置,USER_BASE,/Library/Frameworks/Python.framework/Versions/3.8文件夹

ENABLE_USER_SITE = True# for distutils.commands.install
# These values are initialized by the getuserbase() and getusersitepackages()
# functions, through the main() function when Python starts.
USER_SITE = "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages"
USER_BASE = "/Library/Frameworks/Python.framework/Versions/3.8"

5. 更新环境

answers-MacBook-Pro:~ answer$ source ~/.bashrc

6. 查看是否修改成功,这里因为我已经修改好了,所以前后没什么变化

answers-MacBook-Pro:~ answer$ python -m site
sys.path = ['/Users/answer','/Library/Frameworks/Python.framework/Versions/3.8/lib/python38.zip','/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8','/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/lib-dynload','/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages',
]
USER_BASE: '/Library/Frameworks/Python.framework/Versions/3.8' (exists)
USER_SITE: '/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages' (exists)
ENABLE_USER_SITE: True

 

二. Pycharm

待更

 

三. Jupyter Notebook

1. 检查当前解释器

 启动jupyter (我的jupyter是单独安装的,虽然通过anaconda安装方便,但是不方便管理,后续会有很多麻烦)

answers-MacBook-Pro:~ answer$ ipython notebook
[TerminalIPythonApp] WARNING | Subcommand `ipython notebook` is deprecated and will be removed in future versions.
[TerminalIPythonApp] WARNING | You likely want to use `jupyter notebook` in the future

查看解释器,可以看到目前是3.8的版本,而我要切换到3.7版本用来支持一些包的运行

2. 查看kernel所在位置

answers-MacBook-Pro:~ answer$ ipython kernelspec list
[TerminalIPythonApp] WARNING | Subcommand `ipython kernelspec` is deprecated and will be removed in future versions.
[TerminalIPythonApp] WARNING | You likely want to use `jupyter kernelspec` in the future
Available kernels:pycharm-925c0299    /Users/answer/Library/Jupyter/kernels/pycharm-925c0299python3             /Library/Frameworks/Python.framework/Versions/3.8/share/jupyter/kernels/python3
answers-MacBook-Pro:~ answer$ 

3. 可以看到有两个kernel,一个是pycharm里面的,一个是单独的,这里需要使用pip再安装一次juputer,因为我的两个版本存放包的路径不一样。

answers-MacBook-Pro:~ answer$ pip3 install jupyter

4. 查看Kernel所在的位置,进入kernel所在文件进行编辑

answers-MacBook-Pro:~ answer$ cd /Library/Frameworks/Python.framework/Versions/3.7/share/jupyter/kernels/python3/
answers-MacBook-Pro:python3 answer$ ls
kernel.json	logo-32x32.png	logo-64x64.png
answers-MacBook-Pro:python3 answer$ cat kernel.json 
{"argv": ["python","-m","ipykernel_launcher","-f","{connection_file}"],"display_name": "Python 3","language": "python"
}answers-MacBook-Pro:python3 answer$ 

5. 修改解释器位置(第二行)

{"argv": ["/Library/Frameworks/Python.framework/Versions/3.7/bin/python3","-m","ipykernel_launcher","-f","{connection_file}"],"display_name": "Python 3","language": "python"
}

6. 修改好之后,重启notebook,可以看到解释器已经变成了3.7

 

 

后记

由于有多个解释器,因此在安装库的时候不能直接使用pip, 而是需要指定解释器。

如果我想安装Python3.8的xlrd库,我需要输入的命令是“python3.8 -m pip install xlrd”


http://chatgpt.dhexx.cn/article/qkqpWitN.shtml

相关文章

python解释器怎么添加_Python解释器安装与环境变量添加

python解释器安装与环境变量添加 python解释器安装(3.6和2.7): 这个是python解释器的官网,一定要牢记。 鉴于市场上有两种python版本(2和3),今天两种版本都装一下,互相学习,如有错误还请各位评论指正。 windows系统(如果是苹果的系统就下mac os x) 进来后 python3版本 选择…

如何删除PyCharm解释器

1.点击右下角解释器名称,选择解释器设置; 2.在弹出的窗口中点击解释器路径; 3.在弹出的窗口后选定想要删除的解释器,点击左边的减号即可删除。

pycharm如何找到python解释器,pycharm找不到解释器怎么办

解决方法:1、打开磁盘,直接搜索python.exe文件,获取该文件的路径;2、打开pycharm软件,依次点击“File”–“Setting”–“Project”,点击右上角的设置图标;3、按照获取的路径找到python.exe即可…

java解释器是什么_Java解释器的运行过程介绍

首先介绍一下Java解释器的概念,Java解释器:解释器是Java虚拟机非常重要的一部分,它的工作就是把字节码转化为机器码并在特定的平台进行运行。简单一点,java的解释器只是一个基于虚拟机JVM平台的程序 ,即jdk或jre目录下bin目录中的…

PyCharm配置远程解释器

概述 因为之前公司服务器的硬盘出现损坏,导致服务器不能使用,也把我的Jupyter Notebook里的东西全部销毁了。之前那些代码和数据都找不回来了,郁闷了几天。因为自己平时都会做一些技术研究,写写一些demo,为了方便&…

HTML 解释器

解释过程 HTML 解释器的工作就是将网络或者本地磁盘获取的 HTML 网页和资源从字节流解释成 DOM 树结构。这一过程大致可以理解成下图 WebKit 中这一过程如下:首先是字节流,经过解码之后是字符流,然后通过词法分析器把字符流解释成词语&…

Pycharm python解释器的选择与使用

python解释器的使用 和Pycharm有关的东西: 首先自己电脑之前在学习软件里面已经有了pycharm,但是那个目录是在中文目录的,很多项目运行是没有问题的,但部分可能会出现因为中文目录而导致的报错,所以只能用中文目录来弄…

PHPstorm解释器配置

最近使用PHP打BUUCTF用到了PHPstorm进行PHP语言的部分改写,其中安装解释器部分遇到了一些坑。如下: 首先官网下载PHPstorm进行安装,破解方式网上也有许多,可以直接百度,我是在《不迷路资源库》下载的。 安装后进行进入…

配置Python解释器

在运行python项目时,如果代码目录中没有venv目录(即别人已经配置好的解释器),往往不能直接运行,因此需要自己添加项目对应的解释器,即使有别人配好的解释器,也会因为安装的python位置差异导致解释器不可用,本文将对这两种情况分别解决。(以我曾经碰到过的情况为例,不一定全面) …

python解释器配置_Python解释器的配置

1、准备工作 安装好Pycharm2017版本 电脑上安装好Python解释器 2、本地解释器配置 配置本地解释器的步骤相对简洁直观: (1)单击工具栏中的设置按钮。 (2)在Settings/Preferences对话框中选中 Project Interpreter页面,在Project Interpreter对应的下拉列…

学习笔记——解释器

解释器(英语:Interpreter),又译为直译器,是一种电脑程序,能够把高级编程语言一行一行直接转译运行。解释器不会一次把整个程序转译出来,只像一位"中间人",每次运行程序时都要先转成另一种语言再作运行&#…

【设计模式】解释器模式 ( 简介 | 适用场景 | 优缺点 | 代码示例 )

文章目录 一、解释器模式简介二、解释器模式适用场景三、解释器模式优缺点四、解释器模式与适配器模式五、解释器模式代码示例1、解释器接口2、加法解释器3、乘法解释器4、整型解释器5、语法解析类6、工具类7、测试类 一、解释器模式简介 解释器模式 : 给定一个 语言 , 定义它的…

linux每周2 4 6执行定时任务,linux计划任务crontab例子

/root/send_msg.sh #要自动执行的脚本程序路径 chmod +x /root/send_msg.sh #对脚本文件添加执行权限,否则不能执行 vim /etc/crontab #编辑配置文件,在最后一行添加内容 30 1 * * * root /root/send_msg.sh #表示每天凌晨1点30执行备份 :wq! #保存退出 service crond restar…

Crontab 在线生成器 - Linux计划任务

Linux系统里有一个很方便的程序「例行性计划任务」(Crontab),接触过的朋友一定不陌生。Crontab 主要是让系统去执行一些固定时间要自动进行的例行性工作,最常用的例如备份资料、移除暂存文件、更新或重新启动等等。如果将某个周期…

Linux计划任务以及进程检测与控制

安装第三方环境变量 /etc/profile PATH export PATH $home /.bashrc 当前用户的bash信息(aliase,umask) $home/.bash_profile 当前用户的环境变量的信息 $home /.bash_logout /ect/bashrc 使用bash shell用户全局变量 /etc/profile 系统和…

Linux服务器查看任务计划,Linux的任务计划

Linux的任务计划 我们在使用系统的过程中,经常需要在以后的某个时间点执行一个任务,而我们又不在机器旁边的时候,比如在半夜时服务器访问的用户很少,宽带资源很充足的时候,要去镜像软件包、重启服务器(虽然Linux很稳定…

Linux 计划任务讲解

目录 计划任务 一次性计划任务 长期性计划任务 计划任务 管理员可以编辑自己的和普通用户的计划任务 普通用户只可以编辑自己的计划任务 计划任务根据执行方式分为一次性计划任务、长期性计划任务 一次性计划任务 此计划只执行一次,执行后或就不会再执行了 通…

Linux计划任务-定时任务

Linux计划任务-定时任务 at单次计划任务at命令格式查看at任务取消at计划任务创建1分钟后的单次任务 定时任务分类cron系统任务调度/etc/crontab文件格式 用户任务调度安装crontab conrtab常用添加计划任务指定用户创建计划任务 查看用户的计划任务计划任务日志存储目录查看所有…

Linux 计划任务

计划任务主要是做一些周期性的任务,目前最主要的用途是定期备份数据。 #分类 ##一次性调度执行 at Schedule one-time tasks with at. 语法格式:at 时间点 例如: [rootBJcoud_computing_hp_hao ~]# at now 2min 2分钟之后 [rootBJcoud_co…

Linux基础之计划任务

在Linux的运维中,我们经常会使用到计划任务,所谓计划任务就是在某个时间让计算机做某件事情。我们可以将计划任务分为一次性的调度执行和循环调度执行。 一、一次性调度执行 一次性调度执行在实际情况中使用少于循环调度执行。在Linux操作系统中使用at &…