apt-get virtualenv和pip virtualenv有什么区别?

dvt*_*tan 6 python pip virtualenv apt-get

apt-get的virtualenv与pip的virtualenv有什么区别?它们可以互换吗?

apt-get install virtualenv

The following extra packages will be installed:
  python-chardet-whl python-colorama-whl python-distlib-whl python-html5lib-whl python-pip-whl python-requests-whl
  python-setuptools-whl python-six-whl python-urllib3-whl python3-virtualenv
The following NEW packages will be installed:
  python-chardet-whl python-colorama-whl python-distlib-whl python-html5lib-whl python-pip-whl python-requests-whl
  python-setuptools-whl python-six-whl python-urllib3-whl python3-virtualenv virtualenv
Run Code Online (Sandbox Code Playgroud)

Sla*_*off 11

在高级别apt是您的系统维护的东西.特别是debian系列中的任何东西都将用于apt管理驱动程序,编译器以及需要低级集成的东西.

这意味着喜欢的东西numpyscipy需要与FORTRAN库,包括系统级集成pip依赖实际并不起作用.

一些与系统级依赖项紧密链接的python包维护的apt包只能一次性为您提供完整的包,而无需在两者之间进行协调.减号是因为Canonical的审核过程非常细致(因为它应该是),你将会得到,9/10是你尝试使用的库的较新版本.

因此,简而言之:您经常需要apt包来启用更新的pip安装,并且虽然可以通过相同的python依赖项apt,但这些库通常更旧并且可能没有所需的功能.

一个常见的解决方法是简单地使用其中一个包而不是完整包的系统依赖关系.您可以使用build-deps标志来完成此操作.一个常见的例子如下:

apt-get build-dep python-scipy
pip install scipy
Run Code Online (Sandbox Code Playgroud)

在virtualenv中工作时,它实际上会为您提供最新版本的scipy.