[英]Python No module Error with Visual Studio 2013
我正在尝试在 Visual Studio 2013 上运行一些 python 3.4 示例。当我尝试从父文件夹import
某个模块并从 Visual Studio 2013 内部运行它时,我总是遇到ImportError: No module named 'foo'
但是,当我使用 python 命令python boo.py
从控制台运行它时,它执行得很好。
例如,这是我的项目结构
myproject/
foo.py
__init__.py
koo/
boo.py
__init__.py
foo.py
内容是
def do1():
print('Inside foo module')
boo.py
内容是
import sys
sys.path.append("..")
import foo
foo.do1()
我想,这个问题与 Visual Studio 无关,也与为什么它在 VS 中不起作用有关。 真正的问题是它为什么在终端中工作。 可能是因为终端运行在不同的环境设置下,python解释器可以找到父目录,从而找到foo.py:
当导入名为 spam 的模块时,解释器首先搜索具有该名称的内置模块。 如果未找到,它将在变量 sys.path 给出的目录列表中搜索名为 spam.py 的文件。 sys.path 从这些位置初始化:
包含输入脚本的目录(或当前目录)。
PYTHONPATH(目录名称列表,与 shell 变量 PATH 具有相同的语法)。
初始化后,Python 程序可以修改 sys.path。 包含正在运行的脚本的目录位于搜索路径的开头,在标准库路径之前。 这意味着将加载该目录中的脚本而不是库目录中的同名模块。 这是一个错误,除非更换是有意的。 有关更多信息,请参阅标准模块部分。
因此,将父目录添加到 pythonpath,它将起作用。 或者修改 sys.path 添加父目录。
试试这个它对我有用:
import sys
sys.path.append("Folder PATH"). "Folder PATH" given as...C:\\Working_directory\\VSProject
import <MODULE_NAME>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.