我正在为我的Python3项目创建一个虚拟环境。问题是,我试图安装到virtualenv中的一些依赖项不是通过pip实现的。例如,要获得LibTorrent,我必须运行:^ {< CD1> }(LyTrOrthon是一个带有Python绑定的C++库)。在环境之外,我的项目运行良好。但在里面我得到了一个导入错误:
(env) me@Comp:~/Projects/test$ python3 main.py
Traceback (most recent call last):
File "main.py", line 4, in <module>
import libtorrent as lt
ModuleNotFoundError: No module named 'libtorrent'
如果我在环境中运行$ sudo apt-get install python3-libtorrent
,它会告诉我它已经安装:
我的理解是,这是因为apt get是一个全局命令,与环境无关。但如果是这样的话,如何将这个包安装到env中呢?在
你设法解决了你的问题吗?我也有同样的问题,我偶然发现: http://dreamingpotato.com/2015/11/21/how-to-install-python-libtorrent-in-virtualenv/
(复制下面的命令,以防有一天链接断开)
我想问题是:
./configure enable-python-binding PYTHON=`which python` prefix=$VIRTUAL_ENV
,当您创建一个虚拟环境时,这个命令会发生变化。在所以理论上,你必须为你使用的每一个virtualenv编译libtorrent。这是一个可怕的解决办法,但我相信这是唯一有效的办法。比简单的
pip install -r requirements.txt
更糟糕。在如果你觉得合适,请告诉我,并考虑将此标记为正确答案。在
相关问题 更多 >
编程相关推荐