将 pigpio 安装到虚拟环境中
Installing pigpio into a virtual environment
我想问一下如何在虚拟环境中适当地安装库。当我在 Raspberry Pi 零 W 上激活虚拟环境时,我目前在安装时使用名为 pigpio 的伺服库时遇到困难。
如果我在终端 (i.e.python myscript.py) 的 bash 命令中遗漏了 'sudo',就会出现问题,因为使用命令 'sudo python myscript.py' 将使该脚本的另一个模块 (Boto3) 在虚拟环境中不可用。
我使用 sudo 命令时的错误信息是:
追溯(最近一次通话):
文件 "myscript.py",第 13 行,位于
进口猪皮
导入错误:没有名为 Boto3
的模块
另一方面,使用非 sudo bash 命令会导致 pigpio,Servo 库模块不可用。
我怀疑问题出在 pigpio 库的安装过程中,因为我必须在其中一个步骤中使用“sudo make install”。我想我可能需要通过避免全局安装的替代方法进行安装,即 sudo。我的理解是只有 pip 可以将包安装到 virtualenv(来自 Pypi)(v.s.sudo 导致全局安装)。有没有办法让我找到另一种方法将库适当地安装到虚拟环境中?
最简单的方法是从系统范围的模块中卸载所有依赖项:
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 进行修改以使其位于您的 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
我想问一下如何在虚拟环境中适当地安装库。当我在 Raspberry Pi 零 W 上激活虚拟环境时,我目前在安装时使用名为 pigpio 的伺服库时遇到困难。
如果我在终端 (i.e.python myscript.py) 的 bash 命令中遗漏了 'sudo',就会出现问题,因为使用命令 'sudo python myscript.py' 将使该脚本的另一个模块 (Boto3) 在虚拟环境中不可用。
我使用 sudo 命令时的错误信息是: 追溯(最近一次通话): 文件 "myscript.py",第 13 行,位于 进口猪皮 导入错误:没有名为 Boto3
的模块另一方面,使用非 sudo bash 命令会导致 pigpio,Servo 库模块不可用。
我怀疑问题出在 pigpio 库的安装过程中,因为我必须在其中一个步骤中使用“sudo make install”。我想我可能需要通过避免全局安装的替代方法进行安装,即 sudo。我的理解是只有 pip 可以将包安装到 virtualenv(来自 Pypi)(v.s.sudo 导致全局安装)。有没有办法让我找到另一种方法将库适当地安装到虚拟环境中?
最简单的方法是从系统范围的模块中卸载所有依赖项:
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 进行修改以使其位于您的 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