linkml / linkml-project-cookiecutter

A cookiecutter for linkml projects. An equivalent of `linkml-ws new project-name`.
Creative Commons Zero v1.0 Universal
14 stars 16 forks source link

cookiecutter vs cruft #28

Closed turbomam closed 7 months ago

turbomam commented 1 year ago

TL;DR:

Because no versions of cruft match >2.11.1,<3.0.0
 and cruft (2.11.1) depends on cookiecutter (>=1.7), cruft (>=2.11.1,<3.0.0) requires cookiecutter (>=1.7).
So, because cookiecutter depends on cruft (^2.11.1)
 and cookiecutter is 0.1.0, version solving failed.

Full log

MAM@MAM-M74 gitrepos % mkdir cookiecutter
MAM@MAM-M74 gitrepos % cd cookiecutter 
MAM@MAM-M74 cookiecutter % poetry init

This command will guide you through creating your pyproject.toml config.

Package name [cookiecutter]:  
Version [0.1.0]:  
Description []:  
Author [Mark A. Miller <MAM@lbl.gov>, n to skip]:  
License []:  
Compatible Python versions [^3.9]:  

Would you like to define your main dependencies interactively? (yes/no) [yes] 
You can specify a package in the following forms:
  - A single name (requests): this will search for matches on PyPI
  - A name and a constraint (requests@^2.23.0)
  - A git url (git+https://github.com/python-poetry/poetry.git)
  - A git url with a revision (git+https://github.com/python-poetry/poetry.git#develop)
  - A file path (../my-package/my-package.whl)
  - A directory (../my-package/)
  - A url (https://example.com/packages/my-package-0.1.0.tar.gz)

Package to add or search for (leave blank to skip): 

Would you like to define your development dependencies interactively? (yes/no) [yes] 
Package to add or search for (leave blank to skip): 

Generated file

[tool.poetry]
name = "cookiecutter"
version = "0.1.0"
description = ""
authors = ["Mark A. Miller <MAM@lbl.gov>"]
readme = "README.md"

[tool.poetry.dependencies]
python = "^3.9"

[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"

Do you confirm generation? (yes/no) [yes] 
MAM@MAM-M74 cookiecutter % 
MAM@MAM-M74 cookiecutter % poetry add click==8.0.4
Creating virtualenv cookiecutter-Q1nVBc__-py3.9 in /Users/MAM/Library/Caches/pypoetry/virtualenvs

Updating dependencies
Resolving dependencies... (0.1s)

Writing lock file

Package operations: 1 install, 0 updates, 0 removals

  • Installing click (8.0.4)
MAM@MAM-M74 cookiecutter % poetry install
Installing dependencies from lock file

No dependencies to install or update
MAM@MAM-M74 cookiecutter % poetry add cruft
Using version ^2.11.1 for cruft

Updating dependencies
Resolving dependencies... (0.0s)

Because no versions of cruft match >2.11.1,<3.0.0
 and cruft (2.11.1) depends on cookiecutter (>=1.7), cruft (>=2.11.1,<3.0.0) requires cookiecutter (>=1.7).
So, because cookiecutter depends on cruft (^2.11.1)
 and cookiecutter is 0.1.0, version solving failed.
turbomam commented 1 year ago

Maybe I fouled things up by calling my initial directory cookiecutter?

I started over with an initial directory of eq-expr-sandbox. poetry install and make setup seem to have run to completion.

turbomam commented 1 year ago

Built https://github.com/turbomam/eq-expr-sandbox

pkalita-lbl commented 7 months ago

This appears to be based on the old setup instructions. With https://github.com/linkml/linkml-project-cookiecutter/pull/84 the instructions have been rewritten to advise using pipx. I don't think you'll come across the same issue as described here using those instructions, but if you do feel free to reopen this issue. If you run into a different issue, please open a new one.