一尘不染

Python-libs子文件夹有什么用?

python

对我来说,它位于C:\ Python33 \ libs。

供参考-与C:\ Python33 \ Lib 不在 同一个文件夹-请注意大写字母和缺少’s’。

在我正在使用的一台计算机上,我只是将.py文件放到libs文件夹中,并且可以像库/模块一样导入和使用它(对不起,我不太了解术语),无论我在哪里项目正在工作的是。

但是,在尝试在另一台计算机上复制它时,此操作不起作用。尝试导入只会给出“没有名为X的模块”错误。

因此,很明显,我误解了libs文件夹的用途以及它与Lib文件夹的区别。

那么,究竟 有什么区别?


阅读 381

收藏
2021-01-20

共1个答案

一尘不染

如果比较libs /与lib /,您会注意到后者包含 .py文件,而前者包含 .lib文件。使用文本编辑器进行的进一步研究将显示
.py文件是人类可读的(我希望如此),而
.lib文件不是。

确实是不同。如果您想了解更多,.lib文件是静态链接库,用于构建.dll,C扩展名和所有这些好东西。如果您感兴趣的话,直接去兔子

接下来要问的问题是:您是否应该能够在其中放置模块并能够导入它们?并不是的。这是该文件夹包含在您的路径中的副作用。从模块文档

导入名为spam的模块时,解释器首先搜索具有该名称的内置模块。如果找不到,它将在变量sys.path给出的目录列表中搜索名为spam.py的文件。sys.path从以下位置初始化:

  • 包含输入脚本的目录(或当前目录)。
  • PYTHONPATH(目录名称列表,语法与shell变量PATH相同)。
  • 取决于安装的默认值。

各种安装方法都会修改%PATH%或%PYTHONPATH%,因此我无法告诉您确切的位置;在我的Windows框上,python安装程序为我修改了%PATH%,因此您应该首先查看那里。值得注意的是,我的道路也
并不 包括Python33 /库/所以我不希望它在默认情况下在那里。

2021-01-20