我正在尝试在visual studio 2013上运行一些python 3.4示例。当我尝试import
来自父文件夹的某个模块并从visual studio 2013中运行它时,我总是有{{1}的错误}}
但是,当我使用python命令ImportError: No module named 'foo'
从控制台运行它时,它执行得很好。
例如,这是我的项目结构
python boo.py
myproject/
foo.py
__init__.py
koo/
boo.py
__init__.py
内容
foo.py
def do1():
print('Inside foo module')
内容
boo.py
答案 0 :(得分:1)
我想,这个问题不是关于Visual Studio而是关于它为什么不能在VS中工作。真正的问题是为什么它在终端中工作。可能是因为终端在不同的环境设置下运行,python解释器可以找到父目录,从而找到foo.py:
当导入名为spam的模块时,解释器首先进行搜索 对于具有该名称的内置模块。如果没有找到,则搜索 对于由。给出的目录列表中名为spam.py的文件 变量sys.path。 sys.path从这些位置初始化:
包含输入脚本(或当前目录)的目录。
PYTHONPATH(目录名列表,语法与 shell变量PATH)。
初始化后,Python程序可以修改sys.path。该 包含正在运行的脚本的目录放在开头 搜索路径的位置,在标准库路径之前。这意味着 将加载该目录中的脚本而不是模块 库目录中的名称相同。这是一个错误,除非 打算替换。有关更多信息,请参见标准模块 信息。
因此,将父目录添加到pythonpath,它将起作用。 或者修改sys.path,将父目录添加到它。
答案 1 :(得分:0)
试试这个对我有用:
import sys
sys.path.append("Folder PATH"). "Folder PATH" given as...C:\\Working_directory\\VSProject
import <MODULE_NAME>