首页 > 解决方案 > PyCharm中如何导入模块

问题描述

我有两个项目。在第一个中,我可以导入我的模块 importme.py ,例如:

import importme

现在我可以在 importme 模块中使用我的函数 hello() 没有任何问题。在第二个中,我收到:

ImportError: No module named 'importme'

但我可以通过以下方式导入它:

from . import importme

为什么我不能在两个项目中以相同的方式导入我的模块?我应该配置一些路径吗?

编辑1

第一个项目的目录结构:

testproject/
├── importme.py
└── start.py

第二个项目的目录结构:

spiders/                                                                                                                                                                                                                                                                                                                     
├── spider.py                                                                                                                                                                                                                                                                                                           
├── download_page.py                                                                                                                                                                                                                                                                                                         
├── importme.py                                                                                                                                                                                                                                                                                                              
└── __init__.py  

文件init .py 为空。

标签: python-3.xscrapypycharm

解决方案


我最喜欢的处理方法PYTHONPATH是在虚拟环境中以编辑模式安装包。

  1. 创建虚拟环境

    # create
    $ python -m venv ~/virtualevns/myenv
    # then activate it
    $ source ~/virtualenvs/myenv/bin/activate
    # you can check whether it got activated
    $ which python
    home/user/virtualenvs/myenv/bin/python
    
  2. 为你的项目写作setup.py。为此,请参阅官方分发包教程。

  3. 以可编辑的格式安装包。

    如果您安装带有-e标志 pip 的软件包,它将以可编辑的格式安装,这意味着您在代码中所做的所有更改都将出现在您环境的软件包中:

    $ cd mypkg
    $ pip install -e .
    
  4. 最后,您需要将您的虚拟环境设置为在您使用的编辑器中使用的任何 IDE。

这是一个很棒的工作流程,因为它干净且可靠——您使用的正是您在生产/成品包环境中使用的东西。


推荐阅读