【问题标题】:cant find moduals even though sys.path searches in right place即使 sys.path 在正确的位置搜索也找不到模块
【发布时间】:2018-08-15 23:32:59
【问题描述】:

我正在使用 python3.7 开发 widows10

我已经下载了 opencv 和 numpy 和 sklearn(scikit-learn),它们位于 C:\Python37\Lib\site-packages (pip 放置它们的位置)和我运行时

import sys
print(sys.path)

我得到了输出:

['', 'C:\\Python35\\Lib', 'C:\\Python35\\DLLs', 'C:\\Python35\\Lib\\site-packages', 'C:\\Users\\E6440', 'C:\\Python37\\python37.zip', 'C:\\Python37\\DLLs', 'C:\\Python37\\lib', 'C:\\Python37', 'C:\\Python37\\lib\\site-packages']

在 cmd 上它说 C:\Python37\Lib\site-packages 这是它在导入时查找的路径之一,但是一旦我运行一些代码,它就会给出一个 没有名为___的模块错误

这与python cant find module in sys.path 的问题相似,但那个问题中的 cmets 并没有帮助我

编辑

通过使用精确到python版本的PYTHONPATH解决

【问题讨论】:

  • 安装 Python35 是否会成为问题的根源?
  • 笔记本电脑上没有python 3.5,我大约一周前安装的
  • 所以从你的 PATH 中删除它们,你会得到一个更干净的系统。您还可以深入研究环境,例如使用 pipenv
  • 好吧,我只是查看了 PYTHONPATH 变量,就像我是个菜鸟一样,它的所有路径都是 35(刚刚看到我在问题中输入的输出)并说他们在哪里说 python35 掌心这就是为什么您不阅读您粘贴的内容就不要从网站复制过去的原因
  • 所有这些东西通常运作良好且不被注意,但有时你会研究内部结构。很高兴你很难解决

标签: python-3.x import module sys.path


【解决方案1】:

您尝试从中导入模块的包也可能在 Python 3.5 安装中可用,但 Python 3.5 的包可能缺少您尝试导入的模块。尝试在 PYTHONPATH 环境变量中将 Python 3.7 路径移动到 Python 3.5 路径之前。

【讨论】:

  • 解决问题的方法是将我的代码放在文件夹中:模块所在的站点包。但从长远来看,这并不理想
猜你喜欢
  • 1970-01-01
  • 2015-06-13
  • 2021-12-26
  • 2020-03-09
  • 1970-01-01
  • 2011-03-07
  • 2021-08-24
  • 2019-04-17
  • 2019-04-26
相关资源
最近更新 更多