我有一个项目,根据该项目的用途,我创建了多个python文件。当我从pycharm运行时,它完全可以正常工作。但是,当我从终端运行相同命令时,出现错误:ModuleNotFoundError:没有名为“ dataflow”的模块
我需要从中取出数据流,并且需要进行部署,并且这样做时出现错误。Folder structure of the project, this works when I run from PyCharm
引起猜测,也可以在venv中运行pychar您的代码吗?如果没有,您可能会检查您是否安装了venv中缺少的软件包。
更新
如果您有想要导入的数据流包并在其中使用模块,则需要在数据流文件夹中使用__init__.py文件。这使其成为python的软件包。如果要与一起使用数据流中的模块。在导入中,您需要在__init __。py
中进行导入像这样
import .driver_main
这使来自driver_main的内容在数据流中可用,但是更好的做法是指定要从driver_main访问的内容,例如
from .driver_main import MyDriver
这将使您可以通过以下方式访问我的驱动程序
dataflow.MyDriver
如果您真的只想从同一个lvl上的一个模块访问内容,则应该可以使用相同的方法进行。所以在你所显示的图片中,尝试改变
from dataflow import driver_main
到
from . import driver_main
这将应用于与driver.main.py相同的lvl上的模块中的导入,例如app.py
原始帖子中的评论更新
btw pychar中的env与控制台中的venv无关。您只需告诉pycharm使用python 3.7,但使用venv即可将二进制文件复制到文件夹结构中。这就是说,如果您运行虚拟环境,则您在其中点子的所有内容都会复制到此文件夹结构中,而不是全局站点包中。这意味着如果您全局安装了东西,您将不会立即在虚拟环境中拥有它,反之亦然!