You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

已通过pip成功安装PyPi模块fakesky,但无法导入该模块求助

问题原因及解决步骤

核心问题:包结构与setup.py配置不匹配

你当前的src目录下直接存放fakesky.py,但find_packages('src')只会识别包含__init__.py的子目录作为Python包,导致打包时未正确将fakesky.py纳入包结构,安装后自然找不到模块。

另外还有两个次要问题:

  • setup.cfg中指定的描述文件、许可证文件与实际文件名不符
  • 必要数据文件results_BB.txt未被打包进安装包

具体修复方案

方案1:调整目录结构(推荐)

把src下的文件放到名为fakesky的子目录中,让结构符合标准包格式:

fakesky ->
  setup.py
  setup.cfg
  README.txt
  LICENSE
  src ->
    fakesky ->
      __init__.py
      fakesky.py
      results_BB.txt

修改setup.py,确保正确识别包并打包数据文件:

from setuptools import setup, find_packages
setup(
    name='fakesky',
    version='1.0.2',
    license='CC0 1.0',
    author="Drew Weisserman",
    author_email='drewweis@umich.edu',
    packages=find_packages('src'),
    package_dir={'': 'src'},
    url='https://github.com/drewweis/fakesky',
    keywords='sky image',
    install_requires=[
        'matplotlib',
        'numpy',
        'pandas',
        'scipy',
        'astropy'
    ],
    # 打包必要的数据文件
    package_data={
        'fakesky': ['results_BB.txt'],
    },
    include_package_data=True,
)

方案2:不调整结构,改用py_modules

如果不想修改目录结构,将setup.py中的packages=find_packages('src')替换为py_modules=['fakesky'],同时添加数据文件配置:

from setuptools import setup
setup(
    name='fakesky',
    version='1.0.2',
    license='CC0 1.0',
    author="Drew Weisserman",
    author_email='drewweis@umich.edu',
    py_modules=['fakesky'],
    package_dir={'': 'src'},
    url='https://github.com/drewweis/fakesky',
    keywords='sky image',
    install_requires=[
        'matplotlib',
        'numpy',
        'pandas',
        'scipy',
        'astropy'
    ],
    # 打包数据文件
    data_files=[('', ['src/results_BB.txt'])],
)

修复setup.cfg的文件路径错误

将setup.cfg内容修改为与实际文件名一致:

[metadata]
description-file=README.txt
license_files=LICENSE

重新打包上传

  1. 删除旧的dist目录
  2. 重新生成源码包:
    python3 setup.py sdist
    
  3. 上传新包:
    twine upload dist/*
    
  4. 重新安装测试:
    pip uninstall -y fakesky
    pip install fakesky
    
    之后尝试导入fakesky即可正常使用。

内容的提问来源于stack exchange,提问作者tgs123

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 15:39:21