github下载地址:GitHub - bguillouet/traj-dist: A python package for computing distance between 2D trajectories.
网络现有教程:
①:python 笔记 :trajectory_distance包(如何可以正确使用)【debug篇】_trajectory distance-CSDN博客
②:https://colab.research.google.com/drive/1ZDnUtHBFDAR2RH96nYQO2HQXr4RL4VDC?usp=sharing
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
仔细看第一个现有教程也能解决问题,但是要细心,我就是没仔细看,浪费了很多时间
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
正文:讲解自己安装过程中遇到的问题,可能并不全面,未出现问题可参考其他链接。
首先第一步:去github链接下载并解压traj_dist文件,会得到一个traj_dist_master的文件夹。
第二步:将traj_dist_master中traj_dist文件夹、pyproject.toml、setup.cfg、setup.py文件放到自己环境中site-packages文件夹中。
第三步:执行下图两语句。执行 python setup.py install 时要在先cd到site-packages路径下,因为setup.py文件存在那里。pip install . 同理。执行第一句时大概率会出错,解决方案在‘网络现有教程①’里有。运行第二局pip install .可能会说没有setuptools模块,我今天试了一下,这个可以不用管,直接进行下一步。
第四步:之后可以尝试运行一下他的example.py,大概率会报错,错误如下:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/xxxxxxxxx/Dataspark/trajectory_distance/traj_dist/distance.py", line 13, in <module>
from .cydist.sspd import c_e_sspd, c_g_sspd
File "traj_dist/cydist/sspd.pyx", line 8, in init traj_dist.cydist.sspd
from basic_euclidean import c_point_to_trajectory
ModuleNotFoundError: No module named 'basic_euclidean'
此时需要到traj_dist/cydist/文件夹下,找到sspd.pyx、dtw.pyx。。。等各个pyx文件,将所有对‘basic_euclidean’的引用进行修改,例如:
修改前:
from basic_euclidean import c_eucl_dist
修改后:
from .basic_euclidean import c_eucl_dist
一个细小的变化,他这个错误在‘网络现有教程①’也有,全部修改完之后需要执行:
python setup.py build_ext --inplace
为什么要运行xxxx --inpleace‘网络现有教程①’也说了。
修改一个pyx文件中对basic_euclidean的引用之后再执行python setup.py build_ext --inplace也可以,这样再运行他的example.py会显示其他的pyx文件找不到basic_euclidean,只要修改完对basic_euclidean引用就要运行python setup.py build_ext --inplace。
总之,修改完cydist文件夹下pyx文件对basic_euclidean的引用,要运行python setup.py build_ext --inplace。这一步做完就结束了。
慢慢仔细看这几个教程问题总会解决的,有什么其他问题可以留言,有不清楚的也可以留言,我会尽快解答。