我在dist文件夹中安装了所有依赖项
pip install -r requirements.txt --target dist/
个
我使用以下命令为pythonapp创建了.whl包: Python3 setup.py bdist_车轮
并将pythonapp-1.0.0-py3-one-any.whl包安装到dist文件夹中,然后通过以下命令创建了由它创建的pyz文件
shiv --site-packages dist -e "pythonapp.__main__:main" -o ps.pyz
个
当我使用pythonps.pyz执行pyz包时
raise ResolverError(msg, sys.exc_info())
connexion.exceptions.ResolverError: \<ResolverError: Cannot resolve operationId "stationdetails.getstationName"! Import error was "No module named 'stationdetails'"\>
我试过使用不同的connexion
分辨率,比如RelativeResolver
、RestyResolver
,但似乎都不起作用.
我也try 删除init.py文件,但如果删除init.py文件,WHL包不会包含所有的python文件.
任何帮助都将不胜感激.
目录 struct
test
- setup.py
- dist
- pythonapp
- __init__.py (empty)
- __main__.py
\_ Openpi.yml
- stationdetails.py
stationdetails.py
import logging
def getstationName():
pass
Openpi.yml
paths:
/getstationName:
get:
tags:
- pythonapp
operationId: stationdetails.getstationName
responses:
'200':
description: ok
import connexion
def main():
app = connexion.App(__name__)
app.add_api('Openpi.yml')
app.run(host="0.0.0.0",port=8000)
if __name__ == "__main__":
main()
Setup.py(在pythonapp文件夹之外)
from setuptools import find_packages, setup
version = '1.0.0'
setup(name='pythonapp',
version=version,
description='pythonapp',
url='',
author='test',
author_email='',
packages=find_packages(),
data_files=[('pythonapp',
['pythonapp/Openpi.yml'])],
include_package_data=True,
zip_safe=False,
)