我读了这个文章(查看Python CLI 工具怎么样?)。
嗯,这是显而易见的,将外部 Python 包与系统 Python 的站点包分开。当做sudo apt-get install package
一些依赖于外部Python库的包时,比如说,lxml因此,它会将 lxml 安装到 Python 的系统 site-package 中,并与您安装的包一起使用。
从 Unix 的角度来看,这是一个好方法吗? Debian 或任何其他发行版中是否有一种方法可以告诉包管理器在您的 virtualenv 中安装它所依赖的 python 包并从那里使用它?有没有任何将 Python 的依赖项与系统分离的方法?
如果没有办法,但将外部 Python 包安装到 virtualenv 是正确的方法,为什么我们仍然使用系统站点包?
附:站点包解释道。
答案1
使用系统站点包进行系统范围的安装,与系统附带的 python 版本一起使用。
如果你想尝试使用特定的 python 版本,或者使用与系统使用相同的版本,但不污染系统范围的 site-packages/dist-packages (在 /usr/lib/pythonX.Y/ 下,那么你可以使用virtualenv
。
尽管可以通过提供备用基本目录进行安装,但您无法轻松地.deb
在 virtualenv 中安装基于 python 的软件包,就像基于 CD/USB 的安装程序在硬盘上安装软件包一样。我不会陷入那个麻烦并使用devpi
从 PyPI 本地缓存您需要的 python 包。