对我而言,它位于C:\ Python33 \ libs。
供参考 - 这是不与C:\ Python33 \ Lib相同的文件夹 - 注意大小写和缺少's'。
在我正在处理的一台计算机上,我只是将一个.py文件放到了libs文件夹中,可以像图书馆/模块那样导入和使用它(对不起,我真的不太懂术语),无论在哪里我正在研究的项目是。
但是,在尝试在另一台计算机上复制它时,这不起作用。尝试导入只会给出一个“没有名为X的模块”错误。
所以,显然我误解了libs文件夹的用途,以及它与Lib文件夹的区别。
那么,究竟是的区别是什么?
答案 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中 与...相关联。
可能会或可能不会在不同的安装/平台上设置。
这不是一个真正的答案;希望对此有更深入了解的人会进一步解释 - 只是有点太多的信息来挤进评论。