我在Windows 10上通过Anaconda运行Python 3.我无法将自己的模块导入Jupyter工作簿。例如,如果我尝试使用名为' fibo.py'的模块import fibo
我收到以下错误:
---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
<ipython-input-4-4105c89a6fa8> in <module>()
----> 1 import fibo
ImportError: No module named 'fibo'
我尝试了三件事: 1)使用sys.path.append(&#34; path \ to \ fibo_folder&#34;) 2)更改PATH和PYTHONPATH环境变量以包括&#34; path \ to \ fibo_folder&#34; 3.将Jupyter笔记本导航到与&#39; fibo&#39;相同的目录。安装在。
请注意,我还在与fibo相同的目录中包含了一个空的.py文件,名为&#39; init .py&#39;
只有3)似乎有效,但如果我使用存储在不同文件夹中的模块(它们需要保持独立),这是不切实际的。我确信1)和2)应该有效,但他们似乎不会。
如何将自己的模块导入Jupyter?
答案 0 :(得分:0)
sys.path.append(“ / path / to / fibo文件”)应该已经解决了该问题。 (请注意,在您的问题中,您给出路径时使用了“ \”,这是一个转义字符,并且是错误的,应该为“ /”。不确定该问题是否是错字,只需要在输入时提及即可)为了完成。)
但是就像您在sys.path.append()问题中提到的那样,这是您可能出错的一个常见地方。
在需要导入fibo的相应代码(.py或.ipynb)中,每次运行相应的.py或以下代码时,都应运行sys.path.append(“ / path / to / fibo文件”) .ipynb。
意思是,这不像您打开终端,运行python命令,然后在终端中键入sys.path.append(“ / path / to / fibo file”),将其关闭,然后运行.py或。 ipynb文件。这将不起作用,并且会在您的问题中引发上述错误。
sys.path.append()是一个会话变量,每次在该特定的.py或.ipynb文件中运行各自的代码时都应运行。
这应该得到
1)和2)
工作!
(另外,(我知道,微不足道)重新检查“ fibo”文件的路径是否正确)