【问题标题】:Python sees uninstalled modulePython 看到卸载的模块
【发布时间】:2014-10-31 05:03:50
【问题描述】:

我有一个非常奇怪的问题。我正在开发一个 Pyramid 项目,当我运行 pserve 时,似乎发现了 non-existing 模块。

__init__.py 我的主模块:

...
# This works !!! db/models directory does not even exists
from db.models import Base
# Also works - db/model exists
from db.model import Base
...

我什至尝试重新创建我的虚拟环境,但它仍然可以找到它。

有什么想法吗?

【问题讨论】:

  • 你以前有 db/models.py 吗?如果是这样,您可能有一个 db/models.pyc。删除它。
  • import db.models; print(db.models.__file__) 说正在导入什么?
  • @SethMMorton 谢谢伙计。我一开始也是这么想的,但我没有注意到 .pyc 文件,所以我搜索了大约一个小时的困惑和饥饿......

标签: python pyramid


【解决方案1】:

从 cmets 看来,这个问题已经解决,并且是剩余的 *.pyc 文件。如果您在分支之间移动或发现自己经常重命名/删除文件,则此问题可能会出现很多。

$ find mydir -name "*.pyc" -exec rm {} \; 将递归查找“mydir”目录中的所有*.pyc 文件(当然,将 mydir 替换为您的目录名称)并删除它们。 $ find . -name "*.pyc" -exec rm {} \; 用于您当前的工作目录。

如果您在项目中使用 git,请将此脚本添加到您的 post-checkout 挂钩中,以防止分支之间的差异妨碍您。

$ echo "find src -name "*.pyc" -exec rm {} \;" >> .git/hooks/post-checkout

【讨论】:

    猜你喜欢
    • 2011-03-07
    • 1970-01-01
    • 2011-08-23
    • 2020-10-21
    • 2010-10-01
    • 1970-01-01
    相关资源
    最近更新 更多