IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> m1 mac 安装和使用 homebrew 解决 scrapy 运行时OpenSSL的问题 -> 正文阅读

[Python知识库]m1 mac 安装和使用 homebrew 解决 scrapy 运行时OpenSSL的问题

背景

最近需要在 m1 mac 上用 scrapy 爬点数据,用 miniconda 装了个虚拟环境后,运行 scrapy shell 测试 https 请求时,报错如下:

builtins.MemoryError: Cannot allocate write+execute memory for ffi.callback(). You might be running on a system that prevents this. For more information, see https://cffi.readthedocs.io/en/latest/using.html#callbacks
在这里插入图片描述

于是尝试了网上各种解决方案:

  • 卸载pyopenssl:不行,scrapy 依赖之;
  • 升级requests:不行,没啥卵用;
  • 在虚拟环境里用 brew 安装python3.10,然后用 pip3 安装scrapy(reddit帖子github issue)。本着试试就试试的想法,就开始了 brew 的学习和安装。
    在这里插入图片描述

brew 简介

homebrew(简称brew)是macos下的一个包管理工具,相当于linux里的 apt-get 或者 yum

官网:https://brew.sh/
国内源:https://gitee.com/cunkai/HomebrewCN

brew 安装

/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"

执行上述命令(我选的清华源),最后重启终端即可。
brew 主体安装在了 /opt/homebrew 中,用 brew 安装的包在 /opt/homebrew/Cellar
在这里插入图片描述

brew 常用命令

  • 查看帮助:brew help <包名>, 或 brew -h 查看全局帮助
  • 查看brew版本:brew -v
  • 查询可用包:brew search <包名> ,也可去 brew官网 查询
  • 安装包:brew [cask] install <包名>,eg:brew install python@3.10
  • 卸载包:brew uninstall <包名>,eg:brew uninstall python@3.10
  • 查询已安装包列表:brew list
  • 查看包信息:brew info <包名>
  • 更新brew本身:brew update

解决 scrapy 的问题

参考第一部分提到的解决方案和 blog ,按照以下步骤解决了问题:

  1. 用 brew 安装 python 3.10,brew install python@3.10
    在这里插入图片描述
    装完会在 opt/homebrew/Cellar 下面产生如下文件(这一步目的可能是安装匹配 python 3.10 的 openssl@1.1 ? )
    在这里插入图片描述
  2. 用 conda 安装 python 3.10.14 环境:conda create -n spiderenv_py310 python=3.10,并进入到环境。
  3. 安装 scrapy, pip install scrapy

测试一下:scrapy shell https://www.amazon.co.jp/dp/B09SLG3J6C
在这里插入图片描述
成功解决!最后附上 python 版本和 scrapy、pyopenssl、requests 等https相关的 package 版本信息,仅供参考。
在这里插入图片描述

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-04-04 12:06:36  更:2022-04-04 12:06:45 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 20:29:51-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码