入了 macbookpro M1 的坑,果然是很多的坑,碰到就记录

21 篇文章 0 订阅
4 篇文章 0 订阅

概述

昨晚收到了macbookpro. M1芯片版,知道M1会是个坑,考虑到近苹果的号召力,后续适配应该是没问题的,短期内还能用老air顶一下,电子产品还是买新不买旧,所以还是选了 M1 版。果然有坑,在此记录各种坑和解决办法:

一.日常使用类

1.外接非4k屏,不能开HiDPI

开始以为是 big sur 的问题,后面找了一下相关文章,还是M1的问题。

https://github.com/xzhih/one-key-hidpi/issues/164

目前暂时没法解决,只能多做做眼保健了,公司显示器2k都不到,惨不忍睹。--20210726

xulong@xulongdeMacBook-Pro ~ % ioreg -l |grep DisplayAttributes
    | |   |   |   "DisplayAttributes" = {"ProductAttributes"={}}
    | |   |   |   "DisplayAttributes" = {"ProductAttributes"={"ManufacturerID"="AOC","YearOfManufacture"=2018,"SerialNumber"=59438,"ProductName"="24B1W","AlphanumericSerialNumber"="GMXJ5HA059438","LegacyManufacturerID"=1507,"ProductID"=9217,"WeekOfManufacture"=21},"Chromaticity"={"Red"={"X"=42624,"Y"=21824},"Green"={"X"=20864,"Y"=40384},"Blue"={"X"=9728,"Y"=3392}},"DefaultWhitePoint"={"X"=20544,"Y"=21568,"Gamma"=144179},"SupportsStandby"=Yes,"PreciseAspectRatio"=117513,"MaxHorizontalImageSize"=52,"DefaultColorSpaceIsSRGB"=No,"SupportsSuspend"=No,"SupportsActiveOff"=No,"MaxVerticalImageSize"=29,"WhitePoints"=({"X"=20544,"Y"=21568,"Gamma"=144179}),"HasHDMILegacyEDID"=Yes,"NativeFormatVerticalPixels"=1080,"ContinuousFrequencySupport"="None","AspectRatio"=15,"NativeFormatHorizontalPixels"=1920}
xulong@xulongdeMacBook-Pro ~ % 



# "ProductName"="24B1W "LegacyManufacturerID"=1507     "ProductID"=9217

二.软件开发类

1. pyinstaller 打包提示 "Bad CPU type in executable"

把原来开发的程序,今天拿出来打包测试,开始也没太注意,没什么错误提示,但是运行打包文件时就出错。

 sys.prefix = ''
  sys.exec_prefix = ''
  sys.path = [
    '/var/folders/3f/rpfnhxzj3s14n0kjy352krpm0000gn/T/_MEIuGz6Mk/base_library.zip',
    '/var/folders/3f/rpfnhxzj3s14n0kjy352krpm0000gn/T/_MEIuGz6Mk/lib-dynload',
    '/var/folders/3f/rpfnhxzj3s14n0kjy352krpm0000gn/T/_MEIuGz6Mk',
  ]
Fatal Python error: init_fs_encoding: failed to get the Python codec of the filesystem encoding
Python runtime state: core initialized
LookupError: unknown encoding: utf-8

Current thread 0x0000000101fbfd40 (most recent call first):
<no Python frame>
Saving session...
...copying shared history...
...saving history...truncating history files...
...completed.

开始一直以为是有什么模块引入的问题,后面找了很久,都排除了,再重新打包看log,发现一点端倪了:

41 INFO: Caching module graph hooks...
44 INFO: Analyzing base_library.zip ...
arch: posix_spawnp: /Users/xulong/.pyenv/versions/3.9.6/envs/gxtimer/bin/python3.9: Bad CPU type in executable
arch: posix_spawnp: /Users/xulong/.pyenv/versions/3.9.6/envs/gxtimer/bin/python3.9: Bad CPU type in executable
1029 INFO: Processing pre-find module path hook distutils from '/Users/xulong/.pyenv/versions/3.9.6/envs/gxtimer/lib/python3.9/site-packages/PyInstaller/hooks/pre_find_module_path/hook-distutils.py'.
1029 INFO: distutils: retargeting to non-venv dir '/Users/xulong/.pyenv/versions/3.9.6/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9'

有几段提示 "Bad CPU type in executable", 虽然这里只是提示,没报错,但是这个太关键了,找了一下Pyinstaller 相关的帖子,终于到原因了,首先产生上面 错误的地方是,验证了一下

https://github.com/pyinstaller/pyinstaller/issues/5438

from PyInstaller.utils.hooks import collect_submodules
collect_submodules('encodings')

上面测试代码,在我的 macbook air ( intel cpu) 下面能正常运行, 放是我的macbook pro( M1) 下面运行就报错了:

>>> collect_submodules('wx')
arch: posix_spawnp: /Users/xulong/.pyenv/versions/3.9.6/envs/gxtimer/bin/python: Bad CPU type in executable
['wx']
>>> collect_submodules('encodings')
arch: posix_spawnp: /Users/xulong/.pyenv/versions/3.9.6/envs/gxtimer/bin/python: Bad CPU type in executable
['encodings']
>>> 

再找到另一个贴子,说明了pyinstaller 代码中的原因。

Bad CPU Type on Apple Silicon · Issue #5640 · pyinstaller/pyinstaller · GitHub

目前的解决办法只能是下载最新版 pyinstaller 源码,修改并编译:

 重新编译

按上面方法安装完,

测试,打包正常,运行也正常。

--20210726 

2.wxFormBuilder 没有针对M1的release版,要自己在M1下编译。

参考:https://github.com/wxFormBuilder/wxFormBuilder 

注意点:a. git clone 时比较慢,里面有个组件老下载不成功,可以单独 clone它,多试几次

b. 完全按文档操作,虽然可以正常编译成功,但是并不能运行,运行就报错。 我改成debug版可以运行。

brew install wxmac boost dylibbundler make
git clone --recursive --depth=1 https://github.com/wxFormBuilder/wxFormBuilder
cd wxFormBuilder
./create_build_files4.sh
#前面基本一致。

#因为最新版是3.1所以这里有点不一样
cd build/3.1/gmake
#改成用debug版本(release 版实测不行)
xulong@xulongdeMacBook-Pro gmake % make config=debug

。。。。省略。。。。
dataobject.cpp
cpppanel.cpp
objecttree.cpp
md5.cc
Linking wxFormBuilder
Running post-build commands
sh ../../../install/macosx/postbuild.sh -c debug

#按上而提执行 postbuild.sh

xulong@xulongdeMacBook-Pro gmake % ../../../install/macosx/postbuild.sh -c debug 
xulong@xulongdeMacBook-Pro wxFormBuilder % cd ../../../output/
xulong@xulongdeMacBook-Pro output % open wxFormBuilderd.app


#wxgnolux 20210728

  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: MacBook Pro M1使用教程: 1. 开机:按下电源键,等待MacBook Pro启动。 2. 设置语言和地区:在启动向导中选择您的语言和地区。 3. 设置Apple ID:如果您有Apple ID,请在此处登录。如果没有,请创建一个新的。 4. 设置Touch ID:Touch ID是一种指纹识别技术,可用于解锁MacBook Pro和进行购买等操作。 5. 设置屏幕分辨率:在“显示”设置中选择您喜欢的分辨率。 6. 设置时间和日期:在“日期和时间”设置中设置您的时区和时间。 7. 安装应用程序:打开App Store,下载和安装您需要的应用程序。 8. 使用Safari浏览器:Safari是MacBook Pro的默认浏览器,可用于浏览网页和进行在线活动。 9. 使用邮件应用程序:在“邮件”应用程序中设置您的电子邮件帐户,并开始发送和接收电子邮件。 10. 使用iCloud:iCloud是苹果公司提供的云存储服务,可用于存储和同步您的文件和数据。 11. 使用FaceTime:FaceTime是MacBook Pro的视频通话应用程序,可用于与其他苹果设备用户进行视频通话。 12. 使用iMessage:iMessage是MacBook Pro的即时消息应用程序,可用于与其他苹果设备用户进行文字和多媒体消息交流。 13. 使用iTunes:iTunes是苹果公司的媒体播放器和媒体库管理器,可用于播放音乐、电影和电视节目。 14. 使用Time Machine:Time Machine是MacBook Pro的备份应用程序,可用于定期备份您的文件和数据。 15. 关机:在使用完MacBook Pro后,按下电源键并选择“关机”选项。 ### 回答2: Macbook Pro M1是一款崭新的笔记本电脑,采用苹果公司自主研发的M1芯片,拥有更快的运行速度和更长的电池续航时间,想要充分发挥它的性能,我们需要了解一些使用教程。 1.使用Safari浏览器 Macbook Pro M1内置Safari浏览器,采用了苹果独有的优化技术,能够更快速的加载网页,同时还有更好的电池续航能力。在使用Safari时,可以使用“阅读模式”将页面排版整理得更加清晰易读,同时还可以进行在线购物时的比价。 2.使用Spotlight Spotlight是Macbook Pro M1内置的系统搜索工具,可以帮助我们快速查找文件、应用、邮件、音乐等内容。我们可以通过按下键盘上的Command + Space调出Spotlight,进行搜索。 3.使用Touch Bar Macbook Pro M1的触控栏(Touch Bar)是它的一大亮点,可以为我们提供更多的快捷操作方式。我们可以自定义Touch Bar的按钮,以快速打开常用应用或进行特定操作,比如音量调节、屏幕亮度调节。 4.使用多个桌面 Macbook Pro M1支持多个桌面,我们可以在多个桌面之间切换,以便更好的组织自己的工作。我们可以通过触控板四指左右滑动,来切换不同的桌面。 5.使用iCloud云存储 Macbook Pro M1支持iCloud云存储服务,我们可以将自己的文件、照片等内容存储在云端,以便在不同设备上随时访问。我们可以在系统偏好设置中进行设置。 总之,Macbook Pro M1具有很多强大的功能和使用技巧,如果想要充分发挥它的性能,我们需要逐步学习和掌握。 ### 回答3: 首先,macbook pro m1是一款基于苹果自主研发芯片的笔记本电脑,其性能和省电效果都比以前的macbook要优秀,并且运行macOS Big Sur操作系统。下面我将为大家介绍一些macbook pro m1的使用教程。 1.开机 首先我们需要插上电源适配器,然后按下机身右侧的电源按钮,等待片刻即可进系统。 2.登录 macbook pro m1默认设置是需要输apple ID进行登录。如果之前已经使用过苹果设备并登录了自己的apple ID,则可以使用同一apple ID登录到macbook pro m1。如果没有apple ID,需要先进行注册。 3.桌面 登录后,macbook pro m1会跳转到桌面模式,并且主屏幕会显示一些常用的应用图标。 4.应用 macbook pro m1预装了许多自带应用程序,如Safari浏览器、邮件、音乐、照片、日历等等。同时,也可以在苹果应用商店中下载第三方应用程序。 5.设置 macbook pro m1的设置功能非常强大,可以实现屏幕、声音、网络、用户账户和隐私方面的个性化设置。从桌面可以打开设置应用程序,在不同的选项中更改自己的喜好设置。 6.文件管理 用户可以通过Finder应用程序查看和管理自己的文件。macbook pro m1默认的设置是把文件存储在iCloud云盘中,也可以通过设置将文件存储在本地文件夹中。 7.快捷指令 macbook pro m1支持快捷指令,可以设置一些快捷操作,从而省去繁琐的操作步骤。例如,用户可以设置快捷指令将大批量的图片文件自动缩小至指定大小。 总之,macbook pro m1是一款功能强大、易于使用的笔记本电脑,用户可以通过掌握这些基本操作来更好的理解和利用它。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wxgnolux

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值