本文介绍: 从上面可以看出,VENV工具基于已经安装python环境,从中选取一些必须的文件安装到这个project当前目录下的.venv目录下,创建一个封闭的运行环境里面有必须的python命令sitepackages。这个package会被安装当前工程目录下面的.venv下的sitepackages目录里,这样就不会和别的project共享package实现文件隔离。(用户级的环境文件)芙Spyder 作为python开发环境还是很好用的,在MAC笔记本里直接下载Spyde安装即可

芙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&gt;

Could not find platform dependent libraries <exec_prefix&gt;

Consider setting $PYTHONHOME to <prefix&gt;[:<exec_prefix&gt;]

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/MACospip的安装:

原文地址:https://blog.csdn.net/weixin_43408952/article/details/134698771

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。

如若转载,请注明出处:http://www.7code.cn/show_9633.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注