将pigpio安装到虚拟环境中

时间:2017-12-13 21:02:22

标签: python installation virtual environment

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

如果我在终端(iepy myscript.py)中的bash命令中省略'sudo',就会出现问题,因为使用命令'sudo python myscript.py'会导致此脚本的另一个模块(Boto3)在虚拟环境。

使用sudo命令时出现错误消息: Traceback(最近一次调用最后一次): 文件" myscript.py",第13行,in 进口猪圈 ImportError:没有名为Boto3的模块

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

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

1 个答案:

答案 0 :(得分:1)

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

sudo pip uninstall boto3 pigpio

cd到/ home / your_user这样的目录,然后重试在venv中安装依赖项,如:

virtualenv venv_test
source venv_test/bin/activate
pip install boto3
cd pigpio

https://github.com/joan2937/pigpio/blob/master/Makefile#L34的hacky编辑可能在你的venv文件夹中?比如$(pwd)/venv_test

make
make install
deactivate
source venv_test/bin/activate

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

还要确保您在venv文件夹所在的目录中拥有权限。如果你ls -ail .,你应该看到非sudo用户有chown craver2000:craver2000 the_dir

您也可以执行以下操作:

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中,如:

deactivate
cp pigpio/pigpio.py venv_test/lib/python2.7/site-packages
source venv_test/bin/activate

在这里挖掘更多是未经测试的安装,但是嘿模块使用venv导入:):

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