使用pip安装python项目时缺少模块

我正在部署我的第一个python项目,但是安装存在问题。我遵循了https://packaging.python.org/guides/distributing-packages-using-setuptools/#uploading-your-project-to-pypi中概述的做法。我的项目是使用顶级可执行脚本bin/gsat进行组织的,该脚本会调用导入其他模块,如下所示:

import gsat.input_validation as input_validation

这些模块位于src/gsat/中,按照示例项目中https://github.com/pypa/sampleproject的排列

如果我使用开发模式从项目源本地安装:

pip install -e .

...那么我没有安装问题,并且软件可以正常工作。

但是如果我从pypI安装它:

pip install "gsat"

...然后它将无法运行,因为import语句无法找到模块。错误:

  File "/library/Frameworks/Python.framework/Versions/3.7/bin/gsat",line 10,in <module>
    import gsat.input_validation as input_validation
ModuleNotFoundError: No module named 'gsat'

完整项目位于https://github.com/MikeAxtell/gsat,提交c680172。该项目在pypI上也称为“ gsat”。分发文件的制作方式如下:

python3 setup.py sdist bdist_wheel

...,下面是有趣的setup.py文件。我确定这是一个菜鸟问题;我是python打包和python编程的新手,所以在此先感谢您的帮助!

setup.py:


with open("README.md","r") as fh:
    long_description = fh.read()

setuptools.setup(
    name="gsat",version="0.1a",author="Michael J. Axtell",author_email="mja18@psu.edu",description="General Small RNA-seq Analysis Tool",long_description=long_description,long_description_content_type="text/markdown",url="https://github.com/MikeAxtell/gsat",scripts=['bin/gsat'],package_dir={'': 'src'},packages=setuptools.find_packages(where='gsat'),classifiers=[
        "Programming Language :: Python :: 3","License :: OSI Approved :: MIT License","Operating System :: OS Independent",],python_requires='>3.5,<4',install_requires=['biopython','python-Levenshtein'],)
apitx 回答:使用pip安装python项目时缺少模块

这行好像有个问题:

packages=setuptools.find_packages(where='gsat'),

我相信它应该改为以下内容:

packages=setuptools.find_packages(where='src'),

本文链接:https://www.f2er.com/3045099.html

大家都在问