Python - libs子文件夹是什么?

时间:2013-10-10 02:10:23

标签: python directory libs

对我而言,它位于C:\ Python33 \ libs。

供参考 - 这是与C:\ Python33 \ Lib相同的文件夹 - 注意大小写和缺少's'。

在我正在处理的一台计算机上,我只是将一个.py文件放到了libs文件夹中,可以像图书馆/模块那样导入和使用它(对不起,我真的不太懂术语),无论在哪里我正在研究的项目是。

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

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

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

2 个答案:

答案 0 :(得分:4)

如果你比较libs / vs. Lib /你会注意到后者充满了* .py文件而前者有* .lib文件。使用文本编辑器进一步调查将显示* .py文件是人类可读的(我希望),* .lib文件不是。

这才是真正的区别。如果你想了解更多,.lib文件是静态链接库,用于构建.dll,C扩展和所有好东西。如果您感兴趣的话,请前往rabbit hole

关于问题的关键:您是否应该能够在那里放置模块并能够导入它们?并不是的。这是包含在路径中的该文件夹的副作用。来自模块docs

  

当导入名为spam的模块时,解释器首先进行搜索   对于具有该名称的内置模块。如果没有找到,则搜索   对于由。给出的目录列表中名为spam.py的文件   变量sys.path。 sys.path从这些位置初始化:

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

各种安装方法会修改%PATH%或%PYTHONPATH%,所以我无法准确地告诉你在哪里看;在我的Windows框中,python安装程序为我修改了%PATH%,所以你应该先看看那里。值得注意的是,我的路径包含Python33 / libs /所以我不希望它默认存在。

答案 1 :(得分:0)

只看我的(Windows 7)/ libs似乎是本机代码库(* .lib)与/ Lib中的直接python库。自述文件还提到了配置标志:

- with-libs ='libs':将'libs'添加到python解释器的LIBS中         与...相关联。

可能会或可能不会在不同的安装/平台上设置。

这不是一个真正的答案;希望对此有更深入了解的人会进一步解释 - 只是有点太多的信息来挤进评论。