[ubuntu20.04 LTS]
用jupyter-notebook运行example_CC.ipynb时提示找不到模块ccfj里的函数CC
这是Makefile里面的代码:
FFTW_VERSION=3.3.9
FFTW_FOLDER=fftw-$(FFTW_VERSION)
PREFIX=$(CONDA_PREFIX)
all:
python setup.py build_ext --inplace
cpu:
python setupCPU.py build_ext --inplace
fftw:
wget http://fftw.org/fftw-$(FFTW_VERSION).tar.gz
tar -xvf fftw-$(FFTW_VERSION).tar.gz
rm fftw-$(FFTW_VERSION).tar.gz
cd $(FFTW_FOLDER) \
&& ./configure --prefix=$(PWD) \
--enable-single --enable-shared --with-pic \
--enable-avx2 --enable-avx --enable-sse --enable-sse2 \
&& make -j4 install
install:
install -m 645 ccfj**.so /usr/local/lib/python3*
install -m 645 lib/libfftw3f* /usr/local/lib
教程中的代码:
make
make install
(这是我输入make install之后的代码:
root@ubuntu:/home/zxc/CC-FJpy# make install
install -m 645 ccfj**.so /usr/local/lib/python3*
install -m 645 lib/libfftw3f* /usr/local/lib
然后在/usr/local/lib/python3.8/dist-packages/下生成ccfj.cpython-38-x86_64-linux-gnu.so和名为ccfj的文件夹,文件夹里面有__init__.py
init.py内只有一行代码:
name='ccfj'
下面是ipynb里面的代码
import re
import numpy as np
import obspy
from obspy import UTCDateTime
from ccfj import CC
from ccfj import GetStationPairs
from concurrent.futures import ThreadPoolExecutor
import os
import time
from geopy.distance import great_circle
ImportError Traceback (most recent call last)
<ipython-input-6-01535e265fb9> in <module>
4 import obspy
5 from obspy import UTCDateTime
----> 6 from ccfj import CC
7 from ccfj import GetStationPairs
8 from concurrent.futures import ThreadPoolExecutor
ImportError: cannot import name 'CC' from 'ccfj' (/usr/local/lib/python3.8/dist-packages/ccfj/__init__.py)
想知道具体可能是哪些原因,git命令下载的安装包里面的ccfj.pyx这个文件里面定义了CC这个函数,目前有两个目录,
一个是CC-FJpy(git clone命令下载的包,里面有ccfj.cpp、ccfj.pyx等一些文件),一个是/usr/local/lib/python3.8/dist-packages/ccfj,里面只有一个init.py
能成功调用到ccfj里面的CC函数
有需要更多细节的可以说,我可以再添上去
这是提供这个包及使用方法的网址:https://github.com/ColinLii/CC-FJpy
代码感觉很简单,就几个,你们可以自己装一下运行看看,对比一下我缺了哪里或者哪里出错了