这有点长,我受不了。
我正在努力学习Python和Linux,对两者都很陌生。我目前正在做一些阅读,深入学习以下内容:
http://neuralnetworksanddeeplearning.com/chap1.html
我正试图导入mnist_loader
包,以使用相关数据测试先前编写的脚本。但是,在Linux命令行中输入import mnist_loader
时,我得到了以下命令:
“在以下包中可以找到程序‘import’。”
在这一点上,它列出了一些包裹。因为我是Linux新手,而且没有管理员权限,所以我决定走一条我更理解的路线;那就是创建一个新的python脚本,并在其中简单地使用import命令(这在以前的所有尝试中都有效)。
我创建了一个python脚本并尝试import mnist_loader
并收到以下错误:
“ModuleNotFoundError:没有名为'mnist_loader'的模块”
然后我检查了我的C驱动器,发现文件确实在那里。以下是指向Git存储库的链接,可以在其中找到这些文件:
https://github.com/MichalDanielDobrzanski/DeepLearningPython35
接下来,我继续尝试直接输入文件的路径,如下所示:
import importlib.util
mnist_loader = importlib.util.spec_from_file_location("mnist_loader",r"C:\Users\XXXXXX\Documents\neural-networks-and-deep-learning-master\neural-networks-and-deep-learning-master\src\mnist_loader.py")
training_data, validation_data, test_data = mnist_loader.load_data_wrapper()
但是,这会产生以下错误:
“attributeRor:'ModuleSpec'对象没有'load\u data\u wrapper'属性”
注:最后一行用于从nist文件中收集必要的数据。
我在这一点上已经没有什么想法了,我希望能得到一些关于我到目前为止所有“错误行为”的反馈。
提前谢谢!
值得注意的是,这本书使用了一个为Python2.X设计的包,而我使用的是3.6。book文件位置提供的自述文件提到了一个不同的位置,在这里可以找到Python3.6版本,这就是我要使用的。
最佳答案
自从我使用Python以来已经有一段时间了,但是我对什么会导致您看到的特定错误有一些想法。首先,我建议用包含要导入的模块的路径设置一个PYTHON_PATH
环境变量,幸运的是这不需要管理员权限。至于load_data_wrapper属性,您可能需要执行fromfrom mnist_loader import *
来导入mnist_loader模块中的所有函数。