0%

使用mac自带的quicktime player录屏,比如录视频,视频的声音是录不下来的。如果要录视频和内置声音,设置还有些麻烦。

网上有些人推荐Sound Flower,我也尝试用了,的确能完成录屏,但有个很不好的体验就是,你在录屏的时候,你是没法听到声音的,也就是说没法监控,你得等录制结束后,才知道有没有录制成功。

最佳方案是使用Loopback软件。网上很多人设置得很繁琐,虽然也能用,但不是最佳实践。

下载地址:https://www.macwk.com/soft/loopback,目前为止是可以下载的,以后能不能下载就不知道了。

安装以后,按如下图方法设置。

如果在录屏的时候,用耳机在监听,那就在Monitors那里添加一个耳机输出设备。

设置好了,以后,播放音乐,可以看到声浪。

进入音频设备设置。

把Loopback Audio Playing设备设置为输出。

打开Mac自带的quicktime player,在录屏设置的时候,需要选择Loopback Audio Playing。

这时就可以录屏时带内置声音了。

Python模块加载的时候,有三个库需要区分一下。

内置库

系统库,可以通过如下方式查看其位置。

1
2
3
import os
os.__file__
/opt/anaconda3/envs/py310/lib/python3.10/os.py

说明内置库在/opt/anaconda3/envs/py310/lib/python3.10/

三方库

第三方开发公司开发的库,有些也是官方提供的。

可以通过如下方法查看库的位置。

1
2
3
import pip
pip.__file__
/opt/anaconda3/envs/py310/lib/python3.10/site-packages/pip/__init__.py

说明三方库的位置在/opt/anaconda3/envs/py310/lib/python3.10/site-packages/

本地库

有些库是自己开发的,通过设置PYTHONPATH来指定模块的位置。

环境变量可以通过os.environ来查看。

可以通过sys.path来动态添加地址。

模块demo

比如写个demo模块,首先创建一个demo文件夹。

模块文件夹中,需要添加__init__.py,系统即可认定为模块。

打包的时候,需要两个配置文件。这两个文件和demo文件夹在同一个目录下。

setup.py

1
2
3
from setuptools import setup

setup()

setup.cfg

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
[metadata]
name = demo
version = 0.0.1
author = Simon
author_email = simon@email.com
description = A demo module
long_description = file: README.md
long_description_content_type = text/markdown
url = https://finolo.gy
license = MIT
license_files = LICENSE
keywords =
quant
trading
classifiers =
Development Status :: 5 - Production/Stable
Operating System :: Microsoft :: Windows
Operating System :: POSIX :: Linux
Operating System :: Darwin :: Macos
Programming Language :: Python :: 3
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
Topic :: Office/Business :: Financial :: Investment
Programming Language :: Python :: Implementation :: CPython
License :: OSI Approved :: MIT License
Natural Language :: Chinese (Simplified)
project_urls =
Documentation = https://finolo.gy/

[options]
packages = find:
include_package_data = True
zip_safe = False
install_requires =
vnpy

执行安装命令

1
python setup.py install

安装以后,demo模块就进入到site-packages里面去了。模块的名称可能是demo_module-0.0.1-py3.10.egg,以egg结尾,进入此目录后,会看到demo_module目录。这种方式即是我们所谓的源码安装。

也可以通过wheel方式打包。

首先需要安装模块,wheel

1
pip install wheel
1
python setup.py bdist_wheel

会生成一个文件:dist/demo_module-0.0.1-py3-none-any.whl

这个时候发给别人,别人通过pip install就可以安装了。

安装成功后,site-packages目录下面直接就是demo_module。

在mac OS安装ta-lib时,遇到xcrun error

1
2
3
4
5
6
xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun
error: command '/usr/bin/clang' failed with exit code 1
[end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for ta-lib

执行命令

1
$ xcode-select --install

会跳出如下窗口,点击安装。

即解决missing xcrun的问题。