Python 找不到要导入的文件

Python 找不到要导入的文件,python,windows,Python,Windows,我的文件系统如下: / - website/ - - server.py - common.py 在/中,我尝试运行:python网站/server.py,但在尝试从公共导入my_func时显示错误,说明: ImportError: No module named common 有没有办法将文件表示为模块?我遇到的问题是,在PyCharm中工作时,它正确理解python文件和设计的函数,但在VM的命令提示符中运行时,它不理解。正如您所看到的,我是从/运行python的,我认为它将使用它作

我的文件系统如下:

/
- website/
-   - server.py
- common.py
/
中,我尝试运行:
python网站/server.py
,但在尝试从公共导入my_func时显示错误,说明:

ImportError: No module named common
有没有办法将文件表示为模块?我遇到的问题是,在PyCharm中工作时,它正确理解python文件和设计的函数,但在VM的命令提示符中运行时,它不理解。正如您所看到的,我是从/运行python的,我认为它将使用它作为作用域,但它似乎不起作用

调试器或日志没有向我提供更多信息。我做错了什么

我试着按照Joao的要求做了以下工作
python./website/server.py
并仍然返回以下行,这与上面收到的错误相同

Traceback (most recent call last):
  File "./website/server.py", line 3, in <module>
    from common import my_func
Import Error: No module named common
回溯(最近一次呼叫最后一次):
文件“/website/server.py”,第3行,在
从通用导入我的函数
导入错误:没有名为common的模块
试试看


您正在尝试从父文件夹导入

在common import my_func的
之前添加以下代码即可

import sys 

#appending parent directory into the path
sys.path.append('..')

在PyCharm中,PYTHONPATH是自动设置的。假设您从包含common.py的目录运行server.py,您可以将PYTHONPATH定义为该目录的run

$ python website/server.py
Traceback (most recent call last):
  File "website/server.py", line 1, in <module>
    from common import my_func
ImportError: No module named common

$ PYTHONPATH=`pwd` python website/server.py
$
$python网站/server.py
回溯(最近一次呼叫最后一次):
文件“website/server.py”,第1行,在
从通用导入我的函数
ImportError:没有名为common的模块
$PYTHONPATH=`pwd`python网站/server.py
$

这里的关键是确保您需要的包位于Python在运行代码时搜索的路径中。

我会更新格式化问题,但我仍然会遇到这个错误。这不是问题所在,问题是
common.py
server.py
不在同一目录中。这是用于windows的吗?它表示在执行该命令时,
不会将“PYTHONPATH”识别为内部或外部命令、可操作程序或批处理文件。
否,这是针对使用bash的Unix的。如果您在Windows上运行,请看一看我认为假设路径是一组通用模块的全局集合。我的目录实际上只是一个项目的常用功能列表,因此这样添加它是没有意义的,并且会在项目之外暴露太多。可能全局暴露目录没有多大意义,但事实仍然是,为了使用用于开发的目录结构,需要适当地设置PYTHONPATH。有关临时设置变量的示例方法,请参见:在我的高级变量中,PYTHONPATH不存在。这既不是全局变量,也不是局部环境变量。这可能是在python执行中创建的,但我在文档中并没有看到这一点。这似乎更像是一个建议,将所有python放在该变量中,然后将其放在PATH变量中。这是可以理解的,但让某些东西全球化并不是答案,而且可能只需要通过一个项目来完成。可能是。类似于利用应答目标脚本的项目本地运行时。似乎也不是最好的解决方案。这是一个解决方案。但这只适用于以下理解:您当前的目录不是
/
,而是
/website/
$ python website/server.py
Traceback (most recent call last):
  File "website/server.py", line 1, in <module>
    from common import my_func
ImportError: No module named common

$ PYTHONPATH=`pwd` python website/server.py
$