注意这个问题涉及hatch(不是setuptools也不是distutils)。
我正在开发我的第一个包,并且正在遵循本指南。
\n我的项目结构如下:
\nmypackage\n\xe2\x94\x82 LICENSE\n\xe2\x94\x82 pyproject.toml\n\xe2\x94\x82 README.md\n\xe2\x94\x82 requiremets.txt \n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80docs\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80scripts \n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80src\n\xe2\x94\x82 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80mypackage\n\xe2\x94\x82 config.py\n\xe2\x94\x82 first_module.py\n\xe2\x94\x82 datatypes.py\n\xe2\x94\x82 utils.py\n\xe2\x94\x82 first_module.py\n\xe2\x94\x82 __init__.py \n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80tests\nRun Code Online (Sandbox Code Playgroud)\n但是,我注意到其中只有上面树的C:\\Users\\<User>\\Miniconda3\\envs\\myenv\\Lib\\site-packages\\mypackage内容。./mypackage/scr/mypackage
我想要实现的是还安装脚本文件夹,因为在源代码中我定义了一个函数
\ndef open_tutorial() -> None:\n site_packages = next(\n p for p in sys.path if "site-packages" in p\n )\n open(site_packages+"\\\\mypackage\\\\scripts\\\\tutorial.py")\nRun Code Online (Sandbox Code Playgroud)\n这将允许用户运行如下代码
\nimport mypackage as mpkg\n\nmpkg.open_tutorial()\nRun Code Online (Sandbox Code Playgroud)\n我期望的是scripts/tutorial.py在用户编辑器中打开。
如何实现我的目标?我想我应该编辑文件中的某些内容pyproject.toml,或者我必须hatch以某种方式进行设置,但我不知道如何设置。有什么建议吗?
相关问题:我希望它适用于任何操作系统,因此open_tutorial()欢迎任何关于如何更改我的功能的提示!:)
解决方案:
[tool.hatch.build.targets.wheel]
only-include = ["src/mypackage", "scripts"]
[tool.hatch.build.targets.wheel.sources]
"src" = ""
"scripts" = "mypackage/scripts"
Run Code Online (Sandbox Code Playgroud)
从这里。
| 归档时间: |
|
| 查看次数: |
3807 次 |
| 最近记录: |