遇到的坑比较多,记录一下备忘.
首先,官网推荐 mac 上直接
brew install unicorn
实际使用后发现,这样安装只在系统的 python2中可以使用. python2 2020年就要被弃用了
然后尝试了
pip3 install unicorn
报错,找不到 libunicorn.dylib
.
又组合前两种方法各种实验,最后还是不行,于是选择自己编译安装. 也是各种报错踩坑
最终总结下成功安装的流程:
-
clone unicorn 代码
git clone https://github.com/unicorn-engine/unicorn.git
-
直接编译加安装
./make.sh sudo ./make install
安装完成后查看下
libunicorn.dylib
所在目录,应该是在/usr/local/lib/中
-
进入到
bindings/python/
目录先设置LIBUNICORN_PATH
再运行setup.py
sudo LIBUNICORN_PATH=/usr/local/lib/libunicorn.dylib python3 setup.py install
-
测试一下,随便到一个其他目录下,不要在
/bindings/python/
下, 比如到home
,然后进入python
中导入import unicorn
看是否报错. 如果报下面这样的错误Traceback (most recent call last): File "<stdin>", line 1, in <module> File "<frozen importlib._bootstrap>", line 983, in _find_and_load File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 668, in _load_unlocked File "<frozen importlib._bootstrap>", line 638, in _load_backward_compatible File "/xxx/python3.7/site-packages/unicorn-1.0.2rc1-py3.7.egg/unicorn/__init__.py", line 4, in <module> File "<frozen importlib._bootstrap>", line 983, in _find_and_load File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 668, in _load_unlocked File "<frozen importlib._bootstrap>", line 638, in _load_backward_compatible File "/xxx/python3.7/site-packages/unicorn-1.0.2rc1-py3.7.egg/unicorn/unicorn.py", line 82, in <module> File "/xxx/python3.7/site-packages/pkg_resources/__init__.py", line 1145, in resource_filename self, resource_name File "/xxx/python3.7/site-packages/pkg_resources/__init__.py", line 1715, in get_resource_filename return self._extract_resource(manager, zip_path) File "/xxx/python3.7/site-packages/pkg_resources/__init__.py", line 1736, in _extract_resource timestamp, size = self._get_date_and_size(self.zipinfo[zip_path]) KeyError: 'unicorn/lib'
去到这个/xxx/python3.7/site-packages/
目录下,找到unicorn-1.0.2rc1-py3.7.egg
然后用tar -xf unicorn-1.0.2rc1-py3.7.egg
把它解压出来就行了. 诡异的问题