-
Notifications
You must be signed in to change notification settings - Fork 2.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
chicken-egg-problem - install poetry with poetry #2515
Comments
I did some further testing and found out that the amount needed for use as build back-end is actually lower than thought. I trail-and-errored myself through and came to the following result: With py3.6 I need 10 dependencies. [build-system]
requires = ["intreehooks",
"clikit==0.4.2", #### 3.6
"importlib_metadata==1.1.3", #### 3.6
"tomlkit==0.5.11", #### 3.6
"cleo==0.7.6", #### 3.6
"jsonschema==3.1", #### 3.6
"pyparsing==2.2", #### 3.6
"pkginfo==1.4", #### 3.6
"cachecontrol[filecache]==0.12.4", #### 3.6
"cachy==0.3.0", #### 3.6
"html5lib==1.0.1", #### 3.6
"typing==3.7.4.1", #### 2.7
"functools32==3.2.3-2", #### 2.7
"subprocess32==3.5.4" #### 2.7
] EDIT: Here with the corresponding version specifiers from the poetry dependencies. requires = [
"intreehooks",
"clikit>=0.4.2,<0.5.0",
"importlib_metadata==1.1.3",
"tomlkit>=0.5.11,<0.6.0",
"cleo>=0.7.6,<0.8.0",
"jsonschema>=3.1,<4.0",
"pyparsing>=2.2,<3.0",
"pkginfo>=1.4,<2.0",
"cachecontrol[filecache]>=0.12.4,<0.13.0",
"cachy>=0.3.0,<0.4.0",
"html5lib>=1.0,<2.0",
"typing>=3.6,<4.0; python_version>='2.7' and python_version<'2.8' or python_version>='3.4' and python_version<'3.5'",
"subprocess32>=3.5,<4.0; python_version>='2.7' and python_version<'2.8' or python_version>='3.4' and python_version<'3.5'",
"functools32>=3.2.3,<4.0.0; python_version>='2.7' and python_version<'2.8'",
] |
Thanks for the detailed issue report! Just so you know, there is already the The |
@sdispater Thanks a bunch. That's the solution. I like it ❤️
Only issue is this:
This are the dependencies in cleo = "^0.8.0"
clikit = "^0.5.1" I will close #2516 and change #2511 to use develop so it can be released alongside with 1.1 (if merged). EDIT: Must be pip's dependency resolving. |
This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs. |
Feature Request / Bug Report
Foreword
While I took a look at #2457 and tried to implement it #2511 I encountered an breaking issue: You cannot install poetry from source directly.
I stated my findings and thoughts in the comments of the issue yesterday. But I think its better to outsource this discussion into another (this) issue because its off-topic for the other issue.
Quotes in the following text are either from my above linked comment or this issue itself.
The Issue
So first of all the encountered issue is not a problem if you install poetry like its described in the docs.
The problem occurs when you want to install poetry from source with
pip install .
:For the error output please see the spoiler in my linked comment. You can also simply reproduce the error when you clone the repo and install it into a venv (linux commands):
Solutions
I stated 3 solutions:
And said:
So after a night of sleep I got some additional thoughts and changed my view on my statement from above. Now I think solution 1 would only be the best temporary solution to the problem (because its so easy to apply and can be changed back anytime).
IMO the best and most stylish approach would be solution 2 but only in conjunction with the following part.
Implementation
Before I talk further I want to state that till now I have not taken a single look into the internals of poetry and plan to do so. So please don't hit me 😉
poetry currently has 22 install dependencies (4 for py3.4 (drop in 1.1) and 6 for py2.7 (drop in 2.0)). I don't think all are necessary to use poetry as a building back-end.
So I think it would be best to not put all dependencies into the
require
section but allow poetry to be used in a minimal way with minimal dependencies as a building back-end to build the full poetry application from source.Proposal
I would propose to implement solution 1 as a temporary fix first
and then implement solution 2 like state above.
What do you think?
EDIT: Added context to dependency amount
The text was updated successfully, but these errors were encountered: