Python 导入在PyCharm中工作的模块,但不从终端导入

Python 导入在PyCharm中工作的模块,但不从终端导入,python,pycharm,python-import,Python,Pycharm,Python Import,我在导入模块时遇到一些问题 项目结构类似于: xpr01 ---- xpr02 ---- __init__.py ---- folder01 ---- app_helpers.py ---- data_manipulation.py ---- folder02 ---- main.py 为了运行main.py(在folder02中),我需要在folder01中包含的模块中定义一些函数 因此,在使用PyC

我在导入模块时遇到一些问题

项目结构类似于:

xpr01
---- xpr02
     ---- __init__.py
     ---- folder01
          ---- app_helpers.py
          ---- data_manipulation.py

     ---- folder02
          ---- main.py
为了运行main.py(在folder02中),我需要在folder01中包含的模块中定义一些函数

因此,在使用PyCharm时,我将xpr01设置为工作目录,并在main.py中使用:

from xpr02.folder01.data_manipulation import get_policies, get_categories, get_country_data
from xpr02.folder01.data_manipulation import get_plan_df, get_all_plans_df
一切都很好。 然而,当我尝试从终端(Ubuntu 18.04)运行它时,我得到了错误:

ModuleNotFoundError: No module named 'xpr02'
我假设问题是我应该做…一些与在PyCharm中指定工作目录具有相同效果的事情。我假设在xpr02下使用init.py就可以了,但显然我错了


编辑

PyCharm正在执行以下命令:

/home/my_home_folder/anaconda3/envs/myenv/bin/python /home/my_home_folder/projects/xpr01/xpr02/folder02/main.py
当我只是跑步时:

python main.py
从folder02内部。 我尝试运行与PyCharm中相同的命令(使用所有绝对路径),但仍然得到相同的错误。

尝试使用


sys.path.append(路径到包含python代码的文件夹)

如果在创建文件夹时将xpr02创建为python模块或包pycharm设置PYTHONPATH


这样写的时间太早了,所以Exaxt路径可能是错误的,但请尝试将PYTHONPATH设置为/home/my_home\u folder/projects。

您是否可以发送PyCharm在终端上执行的命令以运行以及您在终端中编写的命令?看起来像是一个问题。我更新了问题以回答ElectronioW。Ceres,我以为是这样的,但正如我写的那样,我希望在folder02中使用init.py可以解决这个问题,这回答了你的问题吗@Carlo查看您正在执行的任何目录都会自动放在
sys.path
上。这就是为什么在包下面的路径上执行允许导入它。要使软件包可用,请将其安装到venv,然后,如果激活了venv,您可以在任何地方执行。