我试图在Windows机箱上使用cPickle,使用Anaconda.我使用的是python 3.5.我没有使用virtualenv(虽然可能应该).
当我尝试导入cPickle时,我得到"ImportError:没有名为'cPickle'的模块"
Python 3.5.0 |Anaconda custom (64-bit)| (default, Dec 1 2015, 11:46:22) [MSC v.
1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import cPickle
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named 'cPickle'
Run Code Online (Sandbox Code Playgroud)
我的理解是cPickle内置了Python 3.5,所以我无法理解为什么找不到cPickle.知道出了什么问题/如何清理/如何解决问题.
如果导入的模块来自C扩展而不是纯Python模块,那么从Python中判断出正确或最强大的方法是什么?这很有用,例如,如果Python包具有既包含纯Python实现又包含C实现的模块,并且您希望能够在运行时告知正在使用哪个模块.
一个想法是检查文件扩展名module.__file__,但我不确定应该检查所有文件扩展名,以及这种方法是否必须最可靠.