首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将pigpio安装到虚拟环境中

将pigpio安装到虚拟环境中
EN

Stack Overflow用户
提问于 2017-12-14 05:02:22
回答 1查看 1.1K关注 0票数 2

我想问一下如何在虚拟环境中适当地安装库。当我在我的Raspberry Pi Zero W上激活虚拟环境时,我在安装时使用名为pigpio的Servo库时遇到了困难。

如果我在终端(i.e.python myscript.py)的bash命令中省略了‘sudo’,就会出现问题,因为使用‘sudo python myscript.py’命令会使该脚本的另一个模块(Boto3)在虚拟环境中不可用。

当我使用sudo命令时,错误消息是: Traceback (最近一次调用):文件"myscript.py",第13行,in import pigpio : No module named Boto3

另一方面,使用非sudo bash命令会导致pigpio,Servo库模块不可用。

我怀疑问题出在pigpio库的安装过程中,因为我不得不在其中一个步骤中使用‘sudo make install’。我想我可能需要通过另一种方法来安装,这种方法避免了全局安装,即sudo。我的理解是,只有pip才能将包安装到virtualenv中(来自Pypi) (v.sudo,这会导致全局安装)。有没有办法可以找到另一种方法来将库适当地安装到虚拟环境中?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-12-14 05:14:52

最简单的方法是卸载系统范围模块中的所有依赖项:

代码语言:javascript
复制
sudo pip uninstall boto3 pigpio

cd到/home/your_user目录,然后重新尝试在venv中安装依赖项,如下所示:

代码语言:javascript
复制
virtualenv venv_test
source venv_test/bin/activate
pip install boto3
cd pigpio

也许是对https://github.com/joan2937/pigpio/blob/master/Makefile#L34进行一次粗略的编辑,使其位于您的venv文件夹中?像$(pwd)/venv_test一样

代码语言:javascript
复制
make
make install
deactivate
source venv_test/bin/activate

如果使用--system-site-packages或类似的东西,权限和模块路径可能会变得复杂。

另外,请确保您在venv文件夹所在的目录中具有权限。因此,如果您使用ls -ail .,应该会看到非sudo用户具有chown craver2000:craver2000 the_dir

您还可以执行以下操作:

代码语言:javascript
复制
sudo cp -R /path/to/dist-packages/pigpio venv_test/lib/python2.7/site-packages
sudo chown -R $USER venv_test/lib/python2.7/site-packages

在进一步检查后,您可能只需将这个pigpio文件复制到您的virtualenv中,如下所示:

代码语言:javascript
复制
deactivate
cp pigpio/pigpio.py venv_test/lib/python2.7/site-packages
source venv_test/bin/activate

在这里再深入一点,这是一个未经测试的安装,但是这个模块使用venv:)导入:

代码语言:javascript
复制
162  sudo apt-get install build-essential
  163  git clone https://github.com/joan2937/pigpio.git
  164  pip
  165  pip install virtualenv
  166  python -m pip install virtualenv
  167  sudo pip install virtualenv
  168  sudo pip install --upgrade pip
  169  virtualenv
  170  virtualenv venv_test
  171  cd pigpio/
  172  ls
  173  nano Makefile
  174  make
  175  make install
  176  mkdir /opt/pigpio
  177  sudo mkdir /opt/pigpio
  178  chown $USER /opt/pigpio
  179  sudo chown $USER /opt/pigpio
  180  make install
  181  source ../venv_test/bin/activate
  182  ls
  183  make install
  184  sudo mkdir /usr/lib/python3.5/site-packages
  187  sudo chown $USER /usr/lib/python3.5/site-packages
  211  sudo chmod 4755 /sbin/ldconfig
  213  sudo chmod 4755 /sbin/ldconfig.real
  214  make install
  215  history
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47802051

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档