在Pycharm中,我有以下文件夹树:
|> Folder_1
| > Folder_2
| - file_1.py
| - file_2.py
| - __init__.py
我正在尝试导入file_2.py,以便我可以在file_1.py中使用它,但即使输入:
import file_2
导致以下错误:
File "Traceback (most recent call last):
/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/IPython/core/interactiveshell.py", line 2881, in run_code
exec(code_obj, self.user_global_ns, self.user_ns)
File "<ipython-input-2-ac9ea41238ee>", line 1, in <module>
import file_2.py
File "/Applications/PyCharm CE.app/Contents/helpers/pydev/_pydev_bundle/pydev_import_hook.py", line 21, in do_import
module = self._system_import(name, *args, **kwargs)
File "/Applications/PyCharm CE.app/Contents/helpers/pydev/_pydev_bundle/pydev_import_hook.py", line 21, in do_import
module = self._system_import(name, *args, **kwargs)
ImportError: No module named 'file_2'
然后我尝试从头开始创建一个新项目,它运行正常。 因此,有可能在当前的设置中更改了阻止导入自定义模块的设置。
有什么想法吗?
答案 0 :(得分:0)
要导入自定义模块(比如说lib),您需要在pycharm中将其标记为Source
。假设我有一个像这样的文件夹
lib/
biopy.py
ratata.py
然后我需要将lib文件夹(在Pycharm内)标记为Source
。右键单击左侧,然后:
Mark dictionary as... --> Sources root
完成此操作后,我可以这样做:
import biopy
import ratata
在该项目的任何脚本中(您可能还想将lib
文件夹添加到$PYTHONPATH
环境变量中)。
编辑:我不知道MAC是否有环境变量
答案 1 :(得分:0)
对于那些遇到同样问题的人来说,这对我有用。
免责声明:这是非感性的。
我输入了import file_1.py
。出了错误。然后我输入import file_1
并且它有效。
不要期望这样做。