如何在PyCharm中让一个项目的Python类在另一项目中可导入
解决跨项目导入自定义类的问题
我明白你想在Project2里像用os、requests这类标准库一样,轻松导入Project1里的Class1,之前试的方法没起效对吧?下面给你几个实用的解决办法,按需选择就行:
方法一:临时添加Project1路径到Python系统路径
Python找模块的时候,只会在sys.path列表里的目录里找。所以我们可以手动把Project1的根目录加到这个列表里,步骤很简单:
- 先找到你的Project1的实际存储路径(比如
/Users/xxx/Projects/Project1或者D:\Projects\Project1) - 在Project2的代码里先执行这段代码:
import sys sys.path.append("/path/to/Project1") # 替换成你自己的Project1路径 # 现在就能正常导入了 from Class1 import Class1
注意:导入的时候不要加
.py后缀,from Class1.py import Class1是错误写法,Python只认去掉后缀的模块名。
如果不想每次写代码都加这段路径,可以把Project1的路径加到系统的PYTHONPATH环境变量里,这样所有Python项目都能识别到它。
方法二:把Project1打包成可安装模块(推荐长期使用)
如果之后还要经常在其他项目里用Project1的代码,把它打包成本地可安装的模块是最方便的,像用标准库一样直接导入:
- 打开Project1的根目录,创建一个
setup.py文件,内容如下:
from setuptools import setup, find_packages setup( name="project1_utils", # 给你的包起个名字,比如project1_utils version="0.1", packages=find_packages(), )
- 打开终端,进入Project1的根目录,执行下面的命令(本地开发模式安装,修改Project1的代码会实时生效):
pip install -e .
- 现在回到Project2里,直接写
from Class1 import Class1就能导入了,完全和用标准库一样!
方法三:在PyCharm里配置项目依赖(仅PyCharm开发适用)
如果你只用PyCharm开发,可以直接通过IDE配置让Project2识别Project1:
- 打开Project2,点击顶部菜单栏的
File > Project Structure - 在左侧面板选择
Modules,然后选中Project2的模块,切换到右侧的Dependencies标签 - 点击右上角的
+号,选择Module Dependency,然后在弹出的窗口里选中Project1,点击OK - 配置完成后,PyCharm会自动把Project1当成Project2的依赖,你直接在代码里写
from Class1 import Class1就行,IDE还会给你代码提示哦!
额外注意点
- 确保Project1的根目录下有一个
__init__.py文件(可以是空文件),这样Python才会把这个目录识别为一个可导入的包。如果Class1.py直接放在Project1根目录,根目录必须有这个文件。
内容的提问来源于stack exchange,提问作者Nikita Potemkin
相关产品推荐
相关产品推荐

