来自 github 的数据表安装未能找到版本
Datatable installation from github failing to find the version
我已经从存储库
卸载并重新安装了最新版本的datatable
16:42:49/seirdc2.March8.in $sudo pip3 install 'datatable==0.10.1'
Successfully installed datatable-0.10.1
让我们看看版本:
import datatable as dt
print(f'datatable version={dt.__version__}')
嗯糟糕!
Traceback (most recent call last):
File "/git/corona/python/pointr/experiments/python/datatable.py", line 18, in <module>
import datatable as dt
File "/git/corona/python/pointr/experiments/python/datatable.py", line 19, in <module>
print(f'datatable version={dt.__version__}')
AttributeError: module 'datatable' has no attribute '__version__'
但是为什么呢?
注意:我还看到了这个包的其他奇怪之处:例如没有找到 Frame
- 虽然不一致。
看来问题与datatable无关。看回溯:
Traceback (most recent call last):
File "/git/corona/python/pointr/experiments/python/datatable.py", line 18, in <module>
import datatable as dt
File "/git/corona/python/pointr/experiments/python/datatable.py", line 19, in <module>
print(f'datatable version={dt.__version__}')
AttributeError: module 'datatable' has no attribute '__version__'
你有第 18 行 "calling" 第 19 行,你不觉得很可疑吗?我的意思是,怎么可能呢?方法如下:
当您将脚本命名为 datatable.py
然后执行 import datatable
时,它不会从站点包中导入实际模块,而是导入 "module" datatable.py .基本上,文件会自行导入。 python 管理导入的方式是,它首先在 sys.modules
中创建一个 "stub" 模块(为了防止导入期间的无限递归)。在您的情况下,模块尝试导入自身,因此取而代之的是存根模块——然后当您尝试打印它的 __version__
变量时,结果发现它不存在。
您可以通过打印 dt.__file__
来验证这一点,它应该显示正在导入的文件的位置。
不用说,所有这些都不是数据表特有的;例如,如果您创建了一个文件 numpy.py
然后尝试 import numpy
,您会 运行 遇到同样的问题。
我已经从存储库
卸载并重新安装了最新版本的datatable
16:42:49/seirdc2.March8.in $sudo pip3 install 'datatable==0.10.1'
Successfully installed datatable-0.10.1
让我们看看版本:
import datatable as dt
print(f'datatable version={dt.__version__}')
嗯糟糕!
Traceback (most recent call last):
File "/git/corona/python/pointr/experiments/python/datatable.py", line 18, in <module>
import datatable as dt
File "/git/corona/python/pointr/experiments/python/datatable.py", line 19, in <module>
print(f'datatable version={dt.__version__}')
AttributeError: module 'datatable' has no attribute '__version__'
但是为什么呢?
注意:我还看到了这个包的其他奇怪之处:例如没有找到 Frame
- 虽然不一致。
看来问题与datatable无关。看回溯:
Traceback (most recent call last):
File "/git/corona/python/pointr/experiments/python/datatable.py", line 18, in <module>
import datatable as dt
File "/git/corona/python/pointr/experiments/python/datatable.py", line 19, in <module>
print(f'datatable version={dt.__version__}')
AttributeError: module 'datatable' has no attribute '__version__'
你有第 18 行 "calling" 第 19 行,你不觉得很可疑吗?我的意思是,怎么可能呢?方法如下:
当您将脚本命名为 datatable.py
然后执行 import datatable
时,它不会从站点包中导入实际模块,而是导入 "module" datatable.py .基本上,文件会自行导入。 python 管理导入的方式是,它首先在 sys.modules
中创建一个 "stub" 模块(为了防止导入期间的无限递归)。在您的情况下,模块尝试导入自身,因此取而代之的是存根模块——然后当您尝试打印它的 __version__
变量时,结果发现它不存在。
您可以通过打印 dt.__file__
来验证这一点,它应该显示正在导入的文件的位置。
不用说,所有这些都不是数据表特有的;例如,如果您创建了一个文件 numpy.py
然后尝试 import numpy
,您会 运行 遇到同样的问题。