env / bin / python和env / lib / pythonX.Y之间的区别(注意lib)

时间:2017-07-06 15:34:00

标签: python linux pip

对于noob问题感到抱歉 - 只是想了解python如何工作的流程。

有谁知道env / bin / python和env / lib / python3.6之间的区别是什么?知道这将是非常有帮助的。 (注意不同的路径 - bin和lib)

谢谢:)

编辑:我在环境中只安装了一个版本的python。这里要注意的一件事是env / bin / python有一个符号链接到env / bin / python3.6(显然是一个二进制文件)。但是在env / lib / python3.6中有一个目录,其中有像site-packages这样的目录,其中存储了已安装的软件包。

所以我的问题是......什么时候使用/ env / bin中的二进制文件以及何时访问目录?当我说' python'在shell中,它进入垃圾箱,但当我说'导入django'在解释器中,它转到lib中的python3.6并获取包。我是在正确的轨道上吗?

3 个答案:

答案 0 :(得分:2)

/ bin / python是二进制文件,解释python代码的程序; lib / pythonX.Y是程序使用的库。该库是用C / C ++和Python编写的模块和包的集合。

lib / pythonX.Y / site-packages是第三方模块的目录; distutils / setuptools / pip安装包。

site-packages之外的lib / pythonX.Y中的其他所有内容都是标准库 - 总是随python一起安装的模块。 https://docs.python.org/3/处的页面记录了标准库,但没有记录第三方模块。

答案 1 :(得分:0)

X和Y表示您正在使用的python版本。

答案 2 :(得分:0)

您的计算机可以同时存储多个版本的python,使用哪个版本取决于当前终端的PATH,或者您是否设置并激活了虚拟环境。您可以通过键入命令

来判断正在使用哪个python解释器
> which python

如果你同时安装了python 2.7和python 3,你也可以使用终端中的全名来选择一个

> python my_script.py # run using the default python interpreter
> python3 my_script.py # run using the configured version of python3

您可以在official Python wiki中找到一些可能有助于您了解要使用的版本及其原因的其他资源。