今日运维之-Mac笔记本python环境问题

news/2025/2/25 10:29:46

1. 问题:MAC升级系统后git报错?

Error: Can't create update lock in /usr/local/var/homebrew/locks!
Fix permissions by running:
  sudo chown -R $(whoami) /usr/local/var/homebrew
Traceback (most recent call last):
	11: from /usr/local/Homebrew/Library/Homebrew/brew.rb:23:in `<main>'
	10: from /usr/local/Homebrew/Library/Homebrew/brew.rb:23:in `require_relative'
	 9: from /usr/local/Homebrew/Library/Homebrew/global.rb:29:in `<top (required)>'
	 8: from /usr/local/Homebrew/Library/Homebrew/vendor/portable-ruby/2.6.3/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
	 7: from /usr/local/Homebrew/Library/Homebrew/vendor/portable-ruby/2.6.3/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
	 6: from /usr/local/Homebrew/Library/Homebrew/os.rb:3:in `<top (required)>'
	 5: from /usr/local/Homebrew/Library/Homebrew/os.rb:21:in `<module:OS>'
	 4: from /usr/local/Homebrew/Library/Homebrew/os/mac.rb:58:in `prerelease?'
	 3: from /usr/local/Homebrew/Library/Homebrew/os/mac.rb:24:in `version'
	 2: from /usr/local/Homebrew/Library/Homebrew/os/mac.rb:24:in `new'
	 1: from /usr/local/Homebrew/Library/Homebrew/os/mac/version.rb:26:in `initialize'
/usr/local/Homebrew/Library/Homebrew/version.rb:368:in `initialize': Version value must be a string; got a NilClass () (TypeError)

解决办法:

以上错误因升级系统后开发工具需要更新,于是使用以下命令更新工具,需要大概15-20分钟不等,看网络环境

xcode-select --install

2. 问题:多个python版本如何配置?

安装python新的包:MAC中安装过多个版本的python,3.6,3.7,3.8,希望用较新的的版本

解决办法:

将对应/usr/local/bin/目录下的python3,pip3文件,替换成python3.8对应的快捷方式即可。

输入命令检查默认python3是3.8了,成功后,看到python3和pip3版本都是3.8

pip3 --version

3. 问题:pip3 intall报错pg_config executable not found.如何解决?

pip3 install -r /xxx/.../requirements.txt -i https://pypi.mirrors.ustc.edu.cn/simple

遇到报错

 ERROR: Command errored out with exit status 1:
     command: /Library/Frameworks/Python.framework/Versions/3.8/bin/python3.8 -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/wq/kx6ydl213rl_fw7bv3m5sbnm0000gs/T/pip-install-vjae8obl/psycopg2/setup.py'"'"'; __file__='"'"'/private/var/folders/wq/kx6ydl213rl_fw7bv3m5sbnm0000gs/T/pip-install-vjae8obl/psycopg2/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base pip-egg-info
         cwd: /private/var/folders/wq/kx6ydl213rl_fw7bv3m5sbnm0000gs/T/pip-install-vjae8obl/psycopg2/
    Complete output (23 lines):
    running egg_info
    creating pip-egg-info/psycopg2.egg-info
    writing pip-egg-info/psycopg2.egg-info/PKG-INFO
    writing dependency_links to pip-egg-info/psycopg2.egg-info/dependency_links.txt
    writing top-level names to pip-egg-info/psycopg2.egg-info/top_level.txt
    writing manifest file 'pip-egg-info/psycopg2.egg-info/SOURCES.txt'
    
    Error: pg_config executable not found.
    
    pg_config is required to build psycopg2 from source.  Please add the directory
    containing pg_config to the $PATH or specify the full executable path with the
    option:
    
        python setup.py build_ext --pg-config /path/to/pg_config build ...
    
    or with the pg_config option in 'setup.cfg'.
    
    If you prefer to avoid building psycopg2 from source, please install the PyPI
    'psycopg2-binary' package instead.
    
    For further information please check the 'doc/src/install.rst' file (also at
    <https://www.psycopg.org/docs/install.html>).
    
    ----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

这个报错,缺少必要的系统依赖

psycopg2 是一个 PostgreSQL 数据库的适配器,它在编译安装时需要一些系统级的开发库。

解决办法

  • macOS:可以使用 Homebrew 来安装所需的依赖。打开终端并执行以下命令:
brew install postgresql

 4. 问题:brew安装库没权限如何解决?

Error: Can't create update lock in /usr/local/var/homebrew/locks!
Fix permissions by running:

解决办法:

1. 修复权限

根据错误提示,通过运行特定命令来修复 /usr/local/var/homebrew/locks 目录的权限。以下是具体步骤:

  • 打开终端:在 macOS 中,通过 “聚焦搜索”(按下 Command + Space 组合键),输入 “终端” 并打开它。
  • 执行权限修复命令:在终端中输入以下命令并回车,该命令会将 /usr/local/var/homebrew/locks 目录的所有者设置为当前用户:
sudo chown -R $(whoami) /usr/local/var/homebrew/locks

执行该命令后,系统会提示你输入管理员密码。输入密码时,终端不会显示任何字符,输入完成后按下回车键即可。

2. 检查 Homebrew 目录整体权限

有时,除了 locks 目录,Homebrew 的其他目录也可能存在权限问题。你可以通过以下命令修复 Homebrew 相关目录的权限:

sudo chown -R $(whoami) /usr/local/Homebrew
sudo chown -R $(whoami) /usr/local/Caskroom
sudo chown -R $(whoami) /usr/local/Cellar
sudo chown -R $(whoami) /usr/local/Frameworks
sudo chown -R $(whoami) /usr/local/lib
sudo chown -R $(whoami) /usr/local/opt
sudo chown -R $(whoami) /usr/local/sbin
sudo chown -R $(whoami) /usr/local/share
sudo chown -R $(whoami) /usr/local/etc

如果有些目录不存在应该也可以暂时不必管。后面需要再操作一次命令。

3. 重新执行 Homebrew 操作

完成权限修复后,你可以再次尝试执行之前失败的 Homebrew 操作,例如更新 Homebrew

brew update

通过以上步骤,你应该能够解决 Homebrew 权限问题,使 Homebrew 操作正常进行。如果问题仍然存在,可能需要进一步检查系统的安全设置或文件系统是否存在异常。

5. 问题:brew update很慢怎么切换镜像?

解决办法:

sudo chown -R $(whoami) $(brew --prefix)/*
cd "$(brew --repo)"

git remote set-url origin https://mirrors.ustc.edu.cn/brew.git

cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core"

git remote set-url origin https://mirrors.ustc.edu.cn/homebrew-core.git

echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.ustc.edu.cn/homebrew-bottles' >> ~/.bash_profile

source ~/.bash_profile

brew update

再次安装brew install postgresql,即可成功

安装完成后再次运行pip3 install命令:

pip3 install -r /xx/x.../requirements.txt -i https://pypi.mirrors.ustc.edu.cn/simple又又报错了

6. 问题:报错pyproject.toml无法安装相关python

ERROR: Exception:
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pip/_internal/cli/base_command.py", line 188, in main
    status = self.run(options, args)
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pip/_internal/commands/install.py", line 345, in run
    resolver.resolve(requirement_set)
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pip/_internal/legacy_resolve.py", line 196, in resolve
    self._resolve_one(requirement_set, req)
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pip/_internal/legacy_resolve.py", line 359, in _resolve_one
    abstract_dist = self._get_abstract_dist_for(req_to_install)
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pip/_internal/legacy_resolve.py", line 305, in _get_abstract_dist_for
    abstract_dist = self.preparer.prepare_linked_requirement(
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pip/_internal/operations/prepare.py", line 214, in prepare_linked_requirement
    abstract_dist.prepare_distribution_metadata(
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pip/_internal/distributions/source.py", line 30, in prepare_distribution_metadata
    self.req.load_pyproject_toml()
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pip/_internal/req/req_install.py", line 501, in load_pyproject_toml
    pyproject_toml_data = load_pyproject_toml(
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pip/_internal/pyproject.py", line 66, in load_pyproject_toml
    pp_toml = pytoml.load(f)
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pip/_vendor/pytoml/parser.py", line 11, in load
    return loads(fin.read(), translate=translate, object_pairs_hook=object_pairs_hook, filename=getattr(fin, 'name', repr(fin)))
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pip/_vendor/pytoml/parser.py", line 24, in loads
    ast = _p_toml(src, object_pairs_hook=object_pairs_hook)
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pip/_vendor/pytoml/parser.py", line 340, in _p_toml
    s.expect_eof()
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pip/_vendor/pytoml/parser.py", line 125, in expect_eof
    return self._expect(self.consume_eof())
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pip/_vendor/pytoml/parser.py", line 165, in _expect
    raise TomlError('msg', self._pos[0], self._pos[1], self._filename)
pip._vendor.pytoml.core.TomlError: /private/var/folders/wq/kx6ydl213rl_fw7bv3m5sbnm0000gs/T/pip-install-rwhgygf_/bcrypt/pyproject.toml(62, 1): msg

解决办法:

升级pip版本:

pip3 install --upgrade pip -i https://pypi.mirrors.ustc.edu.cn/simple

升级后可以继续安装了,终于安装好了python的库。

pip3 install -r /xx/x.../requirements.txt -i https://pypi.mirrors.ustc.edu.cn/simple


http://www.niftyadmin.cn/n/5865381.html

相关文章

angular简易计算器

说明&#xff1a; 用angular实现计算器效果&#xff0c;ui风格为暗黑 效果图&#xff1a; step1: C:\Users\Administrator\WebstormProjects\untitled4\src\app\calnum\calnum.component.ts import { Component } from angular/core;Component({selector: app-calnum,import…

Freertos中空闲钩子函数的使用

在嵌入式系统中&#xff0c;FreeRTOS&#xff08;Free Real - Time Operating System&#xff09;是一个广泛使用的开源实时操作系统内核。FreeRTOS 中的空闲钩子函数是一个很有用的特性&#xff0c;下面为你详细介绍其使用方法、知识点以及示例代码。 空闲钩子函数的作用 空…

Zap:Go 的高性能日志库

文章目录 Zap&#xff1a;Go 高性能日志库一、Zap 的核心优势二、快速入门 Zap1. 安装2. 基本用法输出示例 三、Logger 与 SugaredLogger&#xff1a;如何选择&#xff1f;1. **Logger&#xff08;高性能模式&#xff09;**2. **SugaredLogger&#xff08;开发友好模式&#xf…

【聊天室后端服务器开发】功能设计-框架与微服务

服务器功能设计 微服务思想应用 微服务架构 主要组成分析 客户端 客户端通过 HTTP 协议与网关进行交互&#xff0c;进行操作如用户注册、好友申请等客户端只需要知道网关的地址&#xff0c;无需关心后端服务的具体实现 网关 作为系统的统一入口&#xff0c;网关负责接收客…

开源分布式存储系统在云原生数据库领域的实践与应用

本文深入探讨了Curve项目&#xff0c;一个专为云原生环境设计的开源分布式存储系统。文章详细介绍了Curve的块存储架构、其在云原生数据库领域的实际应用&#xff0c;并展望了项目的未来发展方向。 一、Curve项目介绍 Curve项目致力于打造一个云原生、高性能、稳定且易运维的开…

ARCGIS国土超级工具集1.4更新说明

ARCGIS国土超级工具集V1.4版本&#xff0c;功能已增加至54 个。本次更新在V1.3版本的基础上&#xff0c;新增了“拓扑问题修复工具”并同时调整了数据处理工具栏的布局、工具操作界面的选择图层下拉框新增可选择位于图层组内的要素图层功能、数据保存路径新增了可选择数据库内的…

Bybit最大资金盗窃事件技术分析 by CertiK

事件概述 2025年2月21日UTC时间下午02:16:11,Bybit的以太坊冷钱包(0x1db92e2eebc8e0c075a02bea49a2935bcd2dfcf4[1])因恶意合约升级遭到资金盗取。根据Bybit CEO Ben Zhou的声明[2],攻击者通过钓鱼攻击诱骗冷钱包签名者错误签署恶意交易。他提到,该交易被伪装为合法操作:…

【够用就好006】-PC桌面管理ECS服务器的实操步骤

背景介绍解决思路拓展知识 背景介绍 #够用就好#知其然知其所以然#aigc创意人左边 我计划搭建个人网站&#xff0c;计划格式化我的ECS服务器&#xff0c;但是里面有我之前的实践项目&#xff0c;我舍不得删除&#xff0c;我想要保存到本地。 通常我都是在vscode中用remotes ssh…