Python在文件中看不到新的更改
当我向文件中添加新函数时,如果我只是在终端中运行脚本,或者如果我启动Python在文件中看不到新的更改,python,git,caching,import,git-clone,Python,Git,Caching,Import,Git Clone,当我向文件中添加新函数时,如果我只是在终端中运行脚本,或者如果我启动ipython并尝试在那里导入函数,我也无法导入它们。我没有.pyc文件。看起来好像正在进行某种缓存。我从未真正面对过这样的问题,尽管我已经从事了一段时间的各种项目。为什么会这样 我看到的是:我启动了ipython,其他程序员很久以前编写的函数可以很好地导入。如果我将它们注释掉并保存文件,它们仍然可以导入而不会出现任何问题。如果我写新函数,它们就不能被导入 目录是git目录,我克隆了repo。然后创建了新的分支,我切换到它。Py
ipython
并尝试在那里导入函数,我也无法导入它们。我没有.pyc
文件。看起来好像正在进行某种缓存。我从未真正面对过这样的问题,尽管我已经从事了一段时间的各种项目。为什么会这样
我看到的是:我启动了ipython
,其他程序员很久以前编写的函数可以很好地导入。如果我将它们注释掉并保存文件,它们仍然可以导入而不会出现任何问题。如果我写新函数,它们就不能被导入
目录是git
目录,我克隆了repo。然后创建了新的分支,我切换到它。Python版本是3.7.5
,我正在使用不久前创建的虚拟环境,我使用source activate py37
激活了它
我不知道它是否重要,但我在脚本所在的文件夹中有一个空的\uuuu init\uuuu.py
代码(我认为不相关,但仍然):
public\u class\u props
是一个旧函数,可以导入,但是hello
-不能导入。假设您已成功将项目克隆到计算机中,如果从不同的.py文件导入函数或方法有问题,请检查以下几点
选中此项,它可能会为您提供一些有关导入python模块时缓存如何工作的信息。假设您已成功将项目克隆到计算机中,如果从其他.py文件导入函数或方法时出现问题,请检查以下几点
选中此选项,它可能会为您提供一些有关导入python模块时缓存如何工作的信息。问题在于
PYTHONPATH
被设置为错误的文件夹。该项目有两个文件夹:新旧文件夹,名称相似,项目结构相同(但文件内容不同),并且PYTHONPATH
被设置为旧项目。问题是PYTHONPATH
被设置为错误的文件夹。该项目有两个文件夹:old和new,名称相似,具有相同的项目结构(但文件内容不同),并且PYTHONPATH
被设置为旧项目。我重新启动ipython并重新运行python,因此它不是2。其他旧函数也可以很好地导入,因此它也不是1。init.py将仅为空。它只是说目录是一个python包,没什么好担心的。如果你能编写一些代码,它将帮助我们更好地理解这种情况。其他旧函数也可以很好地导入,因此它也不是1。init.py将仅为空。它只是说目录是一个python包,没什么好担心的。如果你能写一些代码,它将帮助我们更好地了解情况。
import hail as hl
import os
class SeqrDataValidationError(Exception):
pass
# Get public properties of a class
def public_class_props(cls):
return {k: v for k, v in cls.__dict__.items() if k[:1] != '_'}
def hello():
print('hello')