我使用的是 RPI 3B
uname -a
返回:4.14.98-v7+ #1200 armv71
操作系统是stretch
gcc version is 4.9.3
我正在尝试将我的 RPi 设置为 BLE 网关这个项目在 hackster.io 上。我执行了前几个命令:
git clone --recurse-submodules https://github.com/Wolkabout/WolkGateway.git
sudo apt-get install mosquitto cmake python python-pip && python -m pip install conan
Bash 脚本
然后我运行了一个 bash 脚本 (configure.sh),其中包含以下内容:
!/usr/bin/env bash
cp tools/git/pre-commit .git/hooks/pre-commit
chmod +x .git/hooks/pre-commit
pushd out
conan install -s compiler.libcxx=libstdc++11 --build=missing ..
cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release ..
popd
Bash 脚本的输出
终端输出:
line 21: conan: command not found
第 21 行是带有 的行conan
。
然后我得到一个 CMake 错误:
CMakeLists.txt:(20) (include):
include could not find load file:
/home/pi/Wolk...conanbuildinfo.cmake
也许柯南不在我的里面PATH
我的想法是该命令conan
不在我的命令中$PATH
,所以我检查了PIP
:
pip show conan
这给了我以下位置conan
:
/home/pi/.local/lib/python2.7/site-packages
然后我将该路径添加到我的$PATH
:
export PATH=$PATH:/home/pi/.local/lib/python2.7/site-packages
这不起作用,重新运行上述 bash 脚本(configure.sh)时导致相同的错误
从源代码安装柯南
我去了这里并conan
从源安装:
git clone https://github.com/conan-io/conan.git
cd conan
pip install -r conans/requirements.txt
将柯南添加到我的 Python 脚本PATH
#!/usr/bin/env python
import sys
conan_repo_path = "/home/pi/conan"
CONAN 存储库文件夹的绝对路径
sys.path.append(conan_repo_path)
from conans.client.command import main
main(sys.argv[1:])
这有效。它向我展示了conan commands help
输出。
当我执行configure.sh(bash脚本)时,这个python脚本的作用有何不同?
答案1
在 ubuntu 18.04 上,安装软件后执行
pip3 install --user conan
或
pip install --user conan
未将二进制文件正确链接到您的路径中。您通常可以设置路径,因为 --user 将其安装到~/.local/
(基于每个用户),因为使用 sudo 全局安装会破坏东西。
一种快速选择是仅通过执行来创建符号链接
sudo ln -s ~/.local/bin/conan /usr/bin/conan
这是一个小解决方案,但是您也可以~/.local/bin
这样添加:
export PATH=$PATH:/home/<user>/.local/bin
您还可以从这里执行任何已安装的二进制文件。
答案2
安装柯南时:
sudo apt-get install mosquitto cmake python python-pip && python -m pip install conan
后半部分:
python -m pip install conan
应该使用 sudo 安装:
sudo python -m pip install conan
如果这不起作用,请尝试卸载 conan:
pip uninstall conan
然后重新安装:
sudo pip install conan
目前我的 RPi 已成功运行 configure.sh 脚本。