1. 确保已安装 Python 环境
SynthTIGER 需要 Python 3.6+。如果你的 Mac 没有安装 Python:
验证安装:
python3 --version
pip3 --version
2. 安装 SynthTIGER
通过 pip
安装 SynthTIGER:
pip3 install synthtiger
(如果需要特定版本,可以指定版本号,如 pip3 install synthtiger==1.x.x
)
3. 验证安装
运行以下命令检查是否安装成功:
python3 -c "import synthtiger; print(synthtiger.__version__)"
如果没有报错并显示版本号,说明安装成功。
- 常见问题
1.pip3 install synthtiger error: externally-managed-environment 错误
pip3 install synthtiger error: externally-managed-environment × This environment is externally managed ╰─> To install Python packages system-wide, try brew install xyz, where xyz is the package you are trying to install.
这个错误是因为你的 macOS 系统(尤其是较新版本的 macOS,如 Ventura 或 Sonoma)默认使用 "externally-managed-environment" 机制,防止用户直接通过 pip
全局安装 Python 包,以避免与系统自带的 Python 冲突。
最佳实践是创建一个独立的 Python 虚拟环境(Virtual Environment):
# 创建虚拟环境
python3 -m venv ~/synthtiger-env
# 激活虚拟环境
source ~/synthtiger-env/bin/activate
# 安装 SynthTIGER
pip install synthtiger
之后,每次运行 SynthTIGER 前,先激活虚拟环境:
source ~/synthtiger-env/bin/activate
2. AttributeError: `np.sctypes` was removed in the NumPy 2.0 release. Access dtypes explicitly instead. 错误
python3 -c "import synthtiger; print(synthtiger.__version__)"
Traceback (most recent call last):
File "<string>", line 1, in <module>
import synthtiger; print(synthtiger.__version__)
^^^^^^^^^^^^^^^^^
File "/synthtiger-env/lib/python3.13/site-packages/synthtiger/__init__.py", line 7, in <module>
from synthtiger import components, layers, templates, utils
File "/synthtiger-env/lib/python3.13/site-packages/synthtiger/components/__init__.py", line 11, in <module>
from synthtiger.components.image_effect import *
File "/synthtiger-env/lib/python3.13/site-packages/synthtiger/components/image_effect/__init__.py", line 7, in <module>
from synthtiger.components.image_effect.additive_gaussian_noise import (
AdditiveGaussianNoise,
.....
/synthtiger-env/lib/python3.13/site-packages/numpy/__init__.py", line 400, in __getattr__
raise AttributeError(
...<3 lines>...
)
AttributeError: `np.sctypes` was removed in the NumPy 2.0 release. Access dtypes explicitly instead.
1. 降级 NumPy(推荐)
最直接的解决方法是降级 NumPy 到 1.x 版本(兼容 imgaug
):
# 在虚拟环境中操作(确保已激活)
source ~/synthtiger-env/bin/activate
# 降级 NumPy
pip install "numpy<2.0" --force-reinstall
# 重新验证
python -c "import synthtiger; print(synthtiger.__version__)"
验证通过:
python3 -c "import synthtiger; print(synthtiger.__version__)"
1.2.1