自定义Python模块BMICalculator安装后无法导入的问题排查
问题:安装BMICalculator包后PyCharm无法识别
我创建了一个名为BMICalculator的简单函数,为此搭建了testmodule文件夹,包含三个文件:BMICalculator.py、setup.py和空的README.txt。
BMICalculator.py 内容:
def body_mass_index(weight: float, height_in_metres: float) -> int: """Calculates the Body Mass Index (BMI) and rounds off the result to zero decimal places""" result = round(weight / (height_in_metres**2), 2) # Round off the result print(result)
setup.py 内容:
from setuptools import setup setup( name='BMICalculator', version='2.0', description="Calculates your Body Mass Index (BMI)", author="Samuel Gachuhi", author_email="xxx@xxx.com", py_modules=['BMICalculator'] )
我通过Windows PowerShell执行命令 py -3 setup.py sdist 成功生成了分发文件,testmodule文件夹下出现了dist和egg-info目录。接着执行 py -3 -m pip install BMICalculator-2.0.tar.gz 也显示安装成功,但在PyCharm中使用import BMICalculator或from BMICalculator import body_mass_index时,却提示“No module named 'BMICalculator'”。我原本以为源分发包安装后能在任意路径被识别,实际却不是这样,请问问题出在哪里?
解决思路与方案
核心原因:PyCharm使用的Python解释器与安装包的解释器不一致
Windows环境下,py -3调用的Python版本,和PyCharm默认配置的项目解释器可能不是同一个,导致PyCharm找不到你安装的包。
具体排查与解决步骤:
确认安装包的Python解释器路径
在PowerShell中执行以下命令,获取安装BMICalculator时使用的Python解释器完整路径:py -3 -c "import sys; print(sys.executable)"复制输出的路径(比如
C:\Python311\python.exe)。切换PyCharm的项目解释器
- 打开PyCharm,依次点击
File > Settings > Project: [你的项目名称] > Python Interpreter - 点击右上角的齿轮图标,选择
Add - 在弹出的窗口中选择
System Interpreter,找到并选中刚才复制的Python解释器路径,点击OK保存设置 - 等待PyCharm加载解释器的包列表,之后就能正常导入
BMICalculator了。
- 打开PyCharm,依次点击
其他可能的排查点
- 如果安装时使用了
--user参数(比如py -3 -m pip install --user BMICalculator-2.0.tar.gz),需要确保PyCharm的解释器能访问用户目录下的site-packages文件夹,或者直接去掉--user重新安装。 - 验证包是否真的安装成功:在PowerShell中执行
py -3 -c "import BMICalculator; print(BMICalculator.__file__)",如果能打印出包的安装路径,说明包本身安装没问题,问题肯定出在PyCharm的解释器配置上。 - 检查
setup.py的py_modules参数:你的配置['BMICalculator']是正确的,对应BMICalculator.py文件,这部分无需修改。
- 如果安装时使用了
内容的提问来源于stack exchange,提问作者Samuel Gachuhi
相关产品推荐
相关产品推荐

