我正在部署我的第一个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
。。。下面是fun setup.py文件。我敢肯定这是一个noob问题;我不熟悉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'],
)
这一行似乎存在一个问题:
packages=setuptools.find_packages(where='gsat'),
我认为应该改为以下内容:
packages=setuptools.find_packages(where='src'),
相关问题 更多 >
编程相关推荐