Python - libs子文件夹是什么?

Kev*_*vin 6 python directory libs

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

供参考 - 这与C:\ Python33\Lib 不是同一个文件夹 - 注意大小写和缺少's'.

在我正在处理的一台计算机上,我只是将一个.py文件放入libs文件夹中,可以导入并使用它就像一个库/模块(对不起,我真的不太懂术语),无论项目在哪里我正在努力的是.

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

所以,显然我误解了libs文件夹的用途,以及它与Lib文件夹的区别.

那么,究竟是有什么区别?

roi*_*ppi 7

如果比较 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 /库/所以我不希望它在默认情况下在那里。