什么包被拉入新的python virtualenv?

时间:2018-03-19 21:08:11

标签: python virtualenv

当我不得不通过apt-get安装python包并在python virtualenv中使用它时,我当前遇到了问题。软件包的开发人员表示安装软件包不能通过pip工作,建议通过apt-get安装。

所以我安装了.deb软件包,它将python模块安装到/ usr / lib / python3 / site-packages中,正如我所料。如果我运行python3,解释器会指示它是Python 3.5,并且命令import apt成功。到目前为止一切都很好。

现在,我创建了一个新的虚拟环境virutalenv -p /usr/bin/python3 /home/me/python3_venv

然后我进入virtualenv(source ~/python3_venv/bin/activate)并运行python解释器。解释器报告说它正在运行Python 3.5(Ubuntu 16.04的默认设置)。

但是,import aptNo module name 'apt'

而失败

据我了解,当创建venv时,它会拉入所有包裹(或者引用它们?)。

我确实发现在/usr/lib下,不同版本的Python有几个目录。 IE python3python3.5python3.6python2.7python2。它们都不是符号链接。它们都是常规目录。因此,我不确定virtualenv在创建新环境时会抓取哪些资源。

1 个答案:

答案 0 :(得分:1)

根据documentation,您可以在ENV/lib/pythonX.X/site-packages/中的虚拟环境中找到安装的软件包,其中ENV是您所在环境的位置。

在我的安装中,存在以下文件:

-rw-r--r--  1 debian debian  126 Mar 19 22:50 easy_install.py
-rw-r--r--  1 debian debian  315 Mar 19 22:50 easy_install.pyc
drwxr-xr-x 10 debian debian 4096 Mar 19 22:50 pip
drwxr-xr-x  2 debian debian 4096 Mar 19 22:50 pip-9.0.2.dist-info
drwxr-xr-x  4 debian debian 4096 Mar 19 22:50 pkg_resources
drwxr-xr-x  5 debian debian 4096 Mar 19 22:50 setuptools
drwxr-xr-x  2 debian debian 4096 Mar 19 22:50 setuptools-39.0.1.dist-info
drwxr-xr-x  4 debian debian 4096 Mar 19 22:50 wheel
drwxr-xr-x  2 debian debian 4096 Mar 19 22:50 wheel-0.30.0.dist-info

如果要使用系统站点包,请添加--system-site-packages选项,例如:

virutalenv --system-site-packages -p /usr/bin/python3 /home/me/python3_venv

文档说:

  

如果使用virtualenv --system-site-packages ENV构建,则您的虚拟环境将从/usr/lib/python2.7/site-packages(或您的全局site-packages目录所在的位置)继承包。