Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/354.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 没有名为';pyopengv';建立_Python_Linux_Cmake - Fatal编程技术网

Python 没有名为';pyopengv';建立

Python 没有名为';pyopengv';建立,python,linux,cmake,Python,Linux,Cmake,我正在使用Ubunutu LTS 18.04,并尝试为python3安装OpenGV模块。 我已经从它的文档中克隆并构建了OpenGV。我坐在python 3的旗子上。我在/usr/local/lib/python3/dist-packages/文件夹中链接了pyopengv.cpython-36m-x86_64-linux-gnu.so。 尽管如此,它并没有导入pyopengv。 我不明白怎么了。 我将指定我在命令中所做的 git克隆https://github.com/laurentknei

我正在使用Ubunutu LTS 18.04,并尝试为python3安装OpenGV模块。 我已经从它的文档中克隆并构建了OpenGV。我坐在python 3的旗子上。我在/usr/local/lib/python3/dist-packages/文件夹中链接了pyopengv.cpython-36m-x86_64-linux-gnu.so。 尽管如此,它并没有导入pyopengv。 我不明白怎么了。 我将指定我在命令中所做的

git克隆https://github.com/laurentkneip/opengv

cd-opengv

mkdir编译和cd编译和cmake..&&制造

git子模块更新--init--recursive

cmake-DBUILD\u PYTHON=ON-DPYBIND11\u PYTHON\u VERSION=3.6-DPYTHON\u INSTALL\u DIR=/usr/local/lib/python3.6/dist packages

cd/usr/local/lib/python3.7/dist包/

ln-s/usr/local/lib/python3/dist-packages/pyopengv.cpython-36m-x86_64-linux-gnu.so

最后,我在opengv/python中尝试这一点
python3测试.py
但仍然会出现“未找到模块'pyopengv'的错误”

有人知道我做错了什么吗

未找到名为“pyopengv”的模块

python3 tests.py
将在
/usr/lib/python3/dist包中查找pyopengv/

因此,要么执行
cmake-DBUILD\u PYTHON=ON-DPYBIND11\u PYTHON\u VERSION=3.6-DPYTHON\u INSTALL\u DIR=/usr/lib/python3/dist packages/。
要么创建到所需位置的符号链接

Ubuntu 18.04,带有
/usr/lib/python3/dist包/pyopengv.cpython-36m-x86_64-linux-gnu.so
…测试

$ python3 tests.py 
Testing relative pose
Done testing relative pose
Testing relative pose ransac
Done testing relative pose ransac
Testing relative pose ransac rotation only
Done testing relative pose ransac rotation only
Testing triangulation
Done testing triangulation

编辑,2020年3月5日

Ubuntu 18.04,完整的构建顺序:

git clone https://github.com/laurentkneip/opengv.git
cd opengv/
git submodule update --init --recursive
mkdir build && cd build/ 
cmake -DBUILD_PYTHON=ON -DPYBIND11_PYTHON_VERSION=3.6 -DPYTHON_INSTALL_DIR=/usr/lib/python3/dist-packages/ ..
make && sudo make install
检查模块位置:

find /usr/lib/ -name pyopengv.cpython-36m-x86_64-linux-gnu.so

/usr/lib/python3/dist-packages/pyopengv.cpython-36m-x86_64-linux-gnu.so

注意:检查“其他Linux操作系统”→ 可用的模块位置是/usr/lib64/python3.6/site-packages

您使用的是哪种python,3.6还是3.7?另外,
ln-s
不是有两个参数吗?我不知道所有的
ln
实现,但在Ubuntu 18.04上,看起来
ln-s
会将第二个参数默认为
//code>至于ln,它是正如shay所说。我最终还是可以写
。至于python版本,我几分钟前就注意到了一些东西。我应该使用3.6。但是我有anaconda,我认为它使用的是3.7,并且它安装了3.7的模块。我不知道。我认为pip和anaconda以及不同的版本有问题我正在考虑重新安装它,但要完全删除py3.6和pip。我尝试了
cmake-DBUILD\u python=ON-DPYBIND11\u python\u VERSION=3.6-DPYTHON\u INSTALL\u DIR=/usr/lib/python3/dist packages/。
然后运行python3 tests.py,还是一样的东西。没有名为“pyopengv”的模块。你可以吗请检查我在问题本身上面的评论?如果它能显示任何有用的东西…模块被删除…我进行了第二次“makeinstall”:相同的结果。(请查看编辑后的答案。)我现在正在尝试。很抱歉我回复晚了。不过,顺便说一句,我将命令中的Python版本从3.0更改为3.7,因为这是我使用命令
Python-V
时识别的版本,很遗憾:(