MAC笔记本里Spyder python 的安装问题 和 虚拟环境VENV的创建

2023-12-07 05:01

本文主要是介绍MAC笔记本里Spyder python 的安装问题 和 虚拟环境VENV的创建,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

芙Spyder 作为python的开发环境还是很好用的,在MAC笔记本里直接下载Spyde安装即可。

安装完成以后目录在:

/Applications/Spyder.app/Contents 

此目录下有几个子目录如下:

Frameworks        Info.plist    MacOS    PkgInfo    Resources      _CodeSignature

其中可执行文件Spyder和python在MacOS的子目录下;

资源包都在Resouces子目录下

如果在MacOS目录下执行python命令,会出现报错;但是在Spyder的GUI界面里运行python代码是没问题的。

./python

Could not find platform independent libraries <prefix>

Could not find platform dependent libraries <exec_prefix>

Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]

Python path configuration:

  PYTHONHOME = (not set)

  PYTHONPATH = (not set)

  program name = './python'

  isolated = 0

  environment = 1

  user site = 1

  import site = 1

  sys._base_executable = '/Applications/Spyder.app/Contents/MacOS/python'

  sys.base_prefix = '/Users/runner/hostedtoolcache/Python/3.9.14/x64'

  sys.base_exec_prefix = '/Users/runner/hostedtoolcache/Python/3.9.14/x64'

  sys.platlibdir = 'lib'

  sys.executable = '/Applications/Spyder.app/Contents/MacOS/python'

  sys.prefix = '/Users/runner/hostedtoolcache/Python/3.9.14/x64'

  sys.exec_prefix = '/Users/runner/hostedtoolcache/Python/3.9.14/x64'

  sys.path = [

    '/Users/runner/hostedtoolcache/Python/3.9.14/x64/lib/python39.zip',

    '/Users/runner/hostedtoolcache/Python/3.9.14/x64/lib/python3.9',

    '/Users/runner/hostedtoolcache/Python/3.9.14/x64/lib/lib-dynload',

  ]

Fatal Python error: init_fs_encoding: failed to get the Python codec of the filesystem encoding

Python runtime state: core initialized

ModuleNotFoundError: No module named 'encodings'

Current thread 0x00007ff8544c7700 (most recent call first):

原因是 PYTHONHOME没设置,可以通过对环境变量PYTHONHOME设置来解决这个问题。

MAC下的zsh terminal的环境配置文件在/Users/用户名/.zshrc。 (用户级的环境文件)

使用vim编辑.zshrc文件

vim ~/.zshrc

在文件末尾输入:

export PYTHONHOME=/Applications/Spyder.app/Contents/Resources

保存后,再执行:

source ~/.zshrc

通过export命令查看环境变量里是否有PYTHONHOME的设置,如果设置成功,那么可以解决上述问题。

 另外,如果用的是bash,可以编辑 ~/.bash_profile (/etc/profile对所有用户生效,~/.bash_profile只对当前用户生效。

另外环境变量PATH的配置命格式:

export PATH=$PATH:<PATH 1>:<PATH 2>:<PATH 3>:...:<PATH N>

虚拟环境VENV的介绍:

python3.3以后安装包自带VENV工具,可以用来配置python虚拟环境

虚拟环境的主要使用场景是:如果有两个不同的project需要用到同一个包package的不同版本,比如project1用到version1,project2用到version2。那么需要给不同project安装不同的版本。

具体用法:此时就需要用到VENV,

在project1的目录下执行命令:

python3 -m venv .venv

此时在目录下会创建一个.VENV的子目录,包含以下文件/文件夹:

bin    include     lib     pyvenv.cfg

其中bin文件夹下:python,pip 等可执行文件

lib文件夹下: 有site-packages,里面的包几乎为空

从上面可以看出,VENV工具基于已经安装的python环境,从中选取一些必须的文件,安装到这个project的当前目录下的.venv目录下,创建了一个封闭的运行环境,里面有必须的python命令和site-packages。

然后用户在当前目录下再执行下面命令,激活虚拟环境,

source .venv/bin/activate

此时再使用pip安装当前project需要的packages。例如下面命令,可以指定需要安装的packages的版本:

python3 -m pip install 'requests==2.18.4'

这个package会被安装在当前工程的目录下面的.venv下的site-packages子目录里,这样就不会和别的project共享package,实现了文件隔离。

在project的当前目录下执行下面命令,可以关闭虚拟环境:

deactivate

附上python官网对于虚拟环境操作说明如下:

Install packages in a virtual environment using pip and venv - Python Packaging User Guide

linux/MACos下pip的安装:

  • 方法一:

  • Download the script, from https://bootstrap.pypa.io/get-pip.py.

  • python get-pip.py

  • 方法二:

  • python -m ensurepip --upgrade
  • pip升级  
    python -m pip install --upgrade pip

这篇关于MAC笔记本里Spyder python 的安装问题 和 虚拟环境VENV的创建的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/464558

相关文章

Python脚本实现自动删除C盘临时文件夹

《Python脚本实现自动删除C盘临时文件夹》在日常使用电脑的过程中,临时文件夹往往会积累大量的无用数据,占用宝贵的磁盘空间,下面我们就来看看Python如何通过脚本实现自动删除C盘临时文件夹吧... 目录一、准备工作二、python脚本编写三、脚本解析四、运行脚本五、案例演示六、注意事项七、总结在日常使用

Python将大量遥感数据的值缩放指定倍数的方法(推荐)

《Python将大量遥感数据的值缩放指定倍数的方法(推荐)》本文介绍基于Python中的gdal模块,批量读取大量多波段遥感影像文件,分别对各波段数据加以数值处理,并将所得处理后数据保存为新的遥感影像... 本文介绍基于python中的gdal模块,批量读取大量多波段遥感影像文件,分别对各波段数据加以数值处

python管理工具之conda安装部署及使用详解

《python管理工具之conda安装部署及使用详解》这篇文章详细介绍了如何安装和使用conda来管理Python环境,它涵盖了从安装部署、镜像源配置到具体的conda使用方法,包括创建、激活、安装包... 目录pytpshheraerUhon管理工具:conda部署+使用一、安装部署1、 下载2、 安装3

Python进阶之Excel基本操作介绍

《Python进阶之Excel基本操作介绍》在现实中,很多工作都需要与数据打交道,Excel作为常用的数据处理工具,一直备受人们的青睐,本文主要为大家介绍了一些Python中Excel的基本操作,希望... 目录概述写入使用 xlwt使用 XlsxWriter读取修改概述在现实中,很多工作都需要与数据打交

Window Server创建2台服务器的故障转移群集的图文教程

《WindowServer创建2台服务器的故障转移群集的图文教程》本文主要介绍了在WindowsServer系统上创建一个包含两台成员服务器的故障转移群集,文中通过图文示例介绍的非常详细,对大家的... 目录一、 准备条件二、在ServerB安装故障转移群集三、在ServerC安装故障转移群集,操作与Ser

关于@MapperScan和@ComponentScan的使用问题

《关于@MapperScan和@ComponentScan的使用问题》文章介绍了在使用`@MapperScan`和`@ComponentScan`时可能会遇到的包扫描冲突问题,并提供了解决方法,同时,... 目录@MapperScan和@ComponentScan的使用问题报错如下原因解决办法课外拓展总结@

使用Python实现在Word中添加或删除超链接

《使用Python实现在Word中添加或删除超链接》在Word文档中,超链接是一种将文本或图像连接到其他文档、网页或同一文档中不同部分的功能,本文将为大家介绍一下Python如何实现在Word中添加或... 在Word文档中,超链接是一种将文本或图像连接到其他文档、网页或同一文档中不同部分的功能。通过添加超

MybatisGenerator文件生成不出对应文件的问题

《MybatisGenerator文件生成不出对应文件的问题》本文介绍了使用MybatisGenerator生成文件时遇到的问题及解决方法,主要步骤包括检查目标表是否存在、是否能连接到数据库、配置生成... 目录MyBATisGenerator 文件生成不出对应文件先在项目结构里引入“targetProje

C#使用HttpClient进行Post请求出现超时问题的解决及优化

《C#使用HttpClient进行Post请求出现超时问题的解决及优化》最近我的控制台程序发现有时候总是出现请求超时等问题,通常好几分钟最多只有3-4个请求,在使用apipost发现并发10个5分钟也... 目录优化结论单例HttpClient连接池耗尽和并发并发异步最终优化后优化结论我直接上优化结论吧,

Window Server2016 AD域的创建的方法步骤

《WindowServer2016AD域的创建的方法步骤》本文主要介绍了WindowServer2016AD域的创建的方法步骤,文中通过图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价... 目录一、准备条件二、在ServerA服务器中常见AD域管理器:三、创建AD域,域地址为“test.ly”