Nik*_*ako -2 path python shell-script command
我正在使用 RPI 3B
uname -a 返回: 4.14.98-v7+ #1200 armv71
操作系统是 stretch
gcc version is 4.9.3
我正在尝试根据 hackster.io 上的这个项目将我的 RPi 设置为 BLE 网关。我执行了前几个命令:
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
Run Code Online (Sandbox Code Playgroud)
Bash 脚本的输出
终端输出:
line 21: conan: command not found
Run Code Online (Sandbox Code Playgroud)
第 21 行是conan.
然后我收到一个 CMake 错误:
CMakeLists.txt:(20) (include):
include could not find load file:
/home/pi/Wolk...conanbuildinfo.cmake
Run Code Online (Sandbox Code Playgroud)
也许柯南不在我的 PATH
我的想法是命令conan不在我的里面,$PATH所以我检查了PIP:
pip show conan
Run Code Online (Sandbox Code Playgroud)
这给了我以下位置conan:
/home/pi/.local/lib/python2.7/site-packages
Run Code Online (Sandbox Code Playgroud)
然后我将该路径添加到我的$PATH:
export PATH=$PATH:/home/pi/.local/lib/python2.7/site-packages
Run Code Online (Sandbox Code Playgroud)
这不起作用,在重新运行上述 bash 脚本 (configure.sh) 时导致相同的错误
从源安装柯南
我去了这里并conan从源代码安装:
git clone https://github.com/conan-io/conan.git
cd conan
pip install -r conans/requirements.txt
Run Code Online (Sandbox Code Playgroud)
将柯南添加到我的 Python 脚本 PATH
#!/usr/bin/env python
import sys
conan_repo_path = "/home/pi/conan"
Run Code Online (Sandbox Code Playgroud)
CONAN 存储库文件夹的绝对路径
sys.path.append(conan_repo_path)
from conans.client.command import main
main(sys.argv[1:])
Run Code Online (Sandbox Code Playgroud)
这奏效了。它向我展示了conan commands help输出。
当我执行 configure.sh(bash 脚本)时,这个 python 脚本有什么不同?
在 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
您还可以从这里执行任何已安装的二进制文件。