You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+28Lines changed: 28 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,3 +1,31 @@
1
+
2024.2.0 (2024-10-29)
2
+
=====================
3
+
Pipenv 2024.2.0 (2024-10-29)
4
+
============================
5
+
6
+
7
+
Bug Fixes
8
+
---------
9
+
10
+
- Fix dependency resolution edge cases and versioning constraints handling:
11
+
* Allow JSON format options for ``--reverse`` dependency graph output matching pipdeptree
12
+
* Improve installation and upgrade routines to better handle dependencies
13
+
* Add ability to specify json output as pipdeptree does
14
+
* Add more consistent handling of VCS dependencies and references
15
+
* Fix synchronization of development and default dependencies during updates
16
+
* Ensure proper propagation of version constraints during updates
17
+
* Fix handling of ``~=`` and other version specifiers during updates
18
+
19
+
Key Changes:
20
+
* Improved reverse dependency analysis to catch conflicts earlier in resolution
21
+
* Better handling of VCS package lock data, preserving refs and subdirectories
22
+
* Fixed issue where VCS references could be lost in lock file when installed via commit hash
23
+
* Better handling of pipfile categories during installation and updates
24
+
* Corrected logic for development dependency resolution and constraint propagation
25
+
* Improved validation and preservation of version specifiers during updates
26
+
27
+
This improves stability when working with complex dependency trees and version constraints. `#6281 <https://github.com/pypa/pipenv/issues/6281>`_
28
+
- Fixes issue with --skip-lock not providing pip the proper package specifier when version was a string (issue did not impact dict with version key). `#6288 <https://github.com/pypa/pipenv/issues/6288>`_
@@ -42,120 +42,108 @@ from your command line. You can check this by simply running
42
42
.INDENT0.0
43
43
.INDENT3.5
44
44
.sp
45
-
.nf
46
-
.ftC
45
+
.EX
47
46
$ python \-\-version
48
47
49
-
.ftP
50
-
.fi
48
+
.EE
51
49
.UNINDENT
52
50
.UNINDENT
53
51
.sp
54
52
You should get some output like \fB3.12.1\fP\&. If you do not have Python, please
55
-
install the latest 3.x version from \fI\%python.org\fP
53
+
install the latest 3.x version from \X'tty: linkhttps://python.org'\fI\%python.org\fP\X'tty: link'
56
54
.sp
57
-
Additionally, make sure you have \fI\%pip\fP available, assuming you install via pip, our preferred method of installation.
55
+
Additionally, make sure you have \X'tty: linkhttps://pypi.org/project/pip/'\fI\%pip\fP\X'tty: link' available, assuming you install via pip, our preferred method of installation.
58
56
Check this by running
59
57
.INDENT0.0
60
58
.INDENT3.5
61
59
.sp
62
-
.nf
63
-
.ftC
60
+
.EX
64
61
$ pip \-\-version
65
62
pip 24.0
66
63
67
-
.ftP
68
-
.fi
64
+
.EE
69
65
.UNINDENT
70
66
.UNINDENT
71
67
.sp
72
-
If you installed Python from source, with an installer from \fI\%python.org\fPor via \fI\%Homebrew\fP, you likely already have pip.
73
-
If you’re on Linux and installed using your OS package manager, you may have to \fI\%installpip\fP manually.
68
+
If you installed Python from source, with an installer from \X'tty: linkhttps://python.org'\fI\%python.org\fP\X'tty: link'or via \X'tty: linkhttps://brew.sh/'\fI\%Homebrew\fP\X'tty: link', you likely already have pip.
69
+
If you’re on Linux and installed using your OS package manager, you may have to \X'tty: linkhttps://pip.pypa.io/en/stable/installing/'\fI\%installpip\fP\X'tty: link' manually.
74
70
.SH INSTALLING PIPENV
75
71
.SS Preferred Installation of Pipenv
76
72
.sp
77
-
It is recommended that users on most platforms install pipenv from \fI\%pypi.org\fP using
73
+
It is recommended that users on most platforms install pipenv from \X'tty: linkhttps://pypi.org'\fI\%pypi.org\fP\X'tty: link' using
78
74
.INDENT0.0
79
75
.INDENT3.5
80
76
.sp
81
-
.nf
82
-
.ftC
77
+
.EX
83
78
$ pip install pipenv \-\-user
84
79
85
-
.ftP
86
-
.fi
80
+
.EE
87
81
.UNINDENT
88
82
.UNINDENT
89
83
.sp
90
84
\fBNOTE:\fP
91
85
.INDENT0.0
92
86
.INDENT3.5
93
-
pip \fI\%userinstallations\fP allow for installation into your home directory to prevent breaking any system\-wide packages.
87
+
pip \X'tty: linkhttps://pip.pypa.io/en/stable/user_guide/#user-installs'\fI\%userinstallations\fP\X'tty: link' allow for installation into your home directory to prevent breaking any system\-wide packages.
94
88
Due to interaction between dependencies, you should limit tools installed in this way to basic building blocks for a Python workflow such as virtualenv, pipenv, tox, and similar software.
95
89
.UNINDENT
96
90
.UNINDENT
97
91
.sp
98
92
If \fBpipenv\fP isn’t available in your shell after installation,
99
93
you’ll need to add the user site\-packages binary directory to your \fBPATH\fP\&.
100
94
.sp
101
-
On Linux and macOS you can find the \fI\%userbase\fP binary directory by running
95
+
On Linux and macOS you can find the \X'tty: linkhttps://docs.python.org/3/library/site.html#site.USER_BASE'\fI\%userbase\fP\X'tty: link' binary directory by running
102
96
\fBpython\-msite\-\-user\-base\fP and appending \fBbin\fP to the end. For example,
103
97
this will typically print \fB~/.local\fP (with \fB~\fP expanded to the
104
98
absolute path to your home directory), so you’ll need to add
105
99
\fB~/.local/bin\fP to your \fBPATH\fP\&. You can set your \fBPATH\fP permanently by
On Windows you can find the user base binary directory by running
109
103
\fBpython\-msite\-\-user\-site\fP and replacing \fBsite\-packages\fP with
110
104
\fBScripts\fP\&. For example, this could return
111
105
\fBC:\eUsers\eUsername\eAppData\eRoaming\ePython37\esite\-packages\fP, so you would
112
106
need to set your \fBPATH\fP to include
113
107
\fBC:\eUsers\eUsername\eAppData\eRoaming\ePython37\eScripts\fP\&. You can set your
114
-
user \fBPATH\fP permanently in the \fI\%ControlPanel\fP\&.
108
+
user \fBPATH\fP permanently in the \X'tty: linkhttps://learn.microsoft.com/en-us/windows/win32/shell/user-environment-variables'\fI\%ControlPanel\fP\X'tty: link'\&.
115
109
.sp
116
110
You may need to log out for the \fBPATH\fP changes to take effect.
117
111
.sp
118
112
To upgrade pipenv at any time:
119
113
.INDENT0.0
120
114
.INDENT3.5
121
115
.sp
122
-
.nf
123
-
.ftC
116
+
.EX
124
117
$ pip install \-\-user \-\-upgrade pipenv
125
118
126
-
.ftP
127
-
.fi
119
+
.EE
128
120
.UNINDENT
129
121
.UNINDENT
130
122
.SS Homebrew Installation of Pipenv
131
123
.INDENT0.0
132
124
.IP\(bu2
133
-
\fI\%Homebrew\fP is a popular open\-source package management system for macOS (or Linux).
125
+
\X'tty: linkhttps://brew.sh/'\fI\%Homebrew\fP\X'tty: link' is a popular open\-source package management system for macOS (or Linux).
134
126
.UNINDENT
135
127
.sp
136
128
Once you have installed Homebrew simply run
137
129
.INDENT0.0
138
130
.INDENT3.5
139
131
.sp
140
-
.nf
141
-
.ftC
132
+
.EX
142
133
$ brew install pipenv
143
134
144
-
.ftP
145
-
.fi
135
+
.EE
146
136
.UNINDENT
147
137
.UNINDENT
148
138
.sp
149
139
To upgrade pipenv at any time:
150
140
.INDENT0.0
151
141
.INDENT3.5
152
142
.sp
153
-
.nf
154
-
.ftC
143
+
.EX
155
144
$ brew upgrade pipenv
156
145
157
-
.ftP
158
-
.fi
146
+
.EE
159
147
.UNINDENT
160
148
.UNINDENT
161
149
.sp
@@ -173,13 +161,11 @@ tutorial) and run
173
161
.INDENT0.0
174
162
.INDENT3.5
175
163
.sp
176
-
.nf
177
-
.ftC
164
+
.EX
178
165
$ cd myproject
179
166
$ pipenv install <package>
180
167
181
-
.ftP
182
-
.fi
168
+
.EE
183
169
.UNINDENT
184
170
.UNINDENT
185
171
.sp
@@ -202,8 +188,7 @@ For example when installing the \fBrequests\fP library, you should get output si
0 commit comments