Skip to content

Commit 969ec20

Browse files
committed
Release v2024.3.0
1 parent 6364288 commit 969ec20

File tree

4 files changed

+61
-74
lines changed

4 files changed

+61
-74
lines changed

CHANGELOG.md

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff 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>`_
129
2024.2.0 (2024-10-22)
230
=====================
331
Pipenv 2024.2.0 (2024-10-22)

news/6281.bugfix.rst

Lines changed: 0 additions & 18 deletions
This file was deleted.

news/6288.bugfix.rst

Lines changed: 0 additions & 1 deletion
This file was deleted.

pipenv/pipenv.1

Lines changed: 33 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
2727
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
2828
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
2929
..
30-
.TH "PIPENV" "1" "Oct 22, 2024" "2024.2.0" "pipenv"
30+
.TH "PIPENV" "1" "Oct 29, 2024" "2024.3.0" "pipenv"
3131
.sp
3232
\fBNOTE:\fP
3333
.INDENT 0.0
@@ -42,120 +42,108 @@ from your command line. You can check this by simply running
4242
.INDENT 0.0
4343
.INDENT 3.5
4444
.sp
45-
.nf
46-
.ft C
45+
.EX
4746
$ python \-\-version
4847
49-
.ft P
50-
.fi
48+
.EE
5149
.UNINDENT
5250
.UNINDENT
5351
.sp
5452
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: link https://python.org'\fI\%python.org\fP\X'tty: link'
5654
.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: link https://pypi.org/project/pip/'\fI\%pip\fP\X'tty: link' available, assuming you install via pip, our preferred method of installation.
5856
Check this by running
5957
.INDENT 0.0
6058
.INDENT 3.5
6159
.sp
62-
.nf
63-
.ft C
60+
.EX
6461
$ pip \-\-version
6562
pip 24.0
6663
67-
.ft P
68-
.fi
64+
.EE
6965
.UNINDENT
7066
.UNINDENT
7167
.sp
72-
If you installed Python from source, with an installer from \fI\%python.org\fP or 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\%install pip\fP manually.
68+
If you installed Python from source, with an installer from \X'tty: link https://python.org'\fI\%python.org\fP\X'tty: link' or via \X'tty: link https://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: link https://pip.pypa.io/en/stable/installing/'\fI\%install pip\fP\X'tty: link' manually.
7470
.SH INSTALLING PIPENV
7571
.SS Preferred Installation of Pipenv
7672
.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: link https://pypi.org'\fI\%pypi.org\fP\X'tty: link' using
7874
.INDENT 0.0
7975
.INDENT 3.5
8076
.sp
81-
.nf
82-
.ft C
77+
.EX
8378
$ pip install pipenv \-\-user
8479
85-
.ft P
86-
.fi
80+
.EE
8781
.UNINDENT
8882
.UNINDENT
8983
.sp
9084
\fBNOTE:\fP
9185
.INDENT 0.0
9286
.INDENT 3.5
93-
pip \fI\%user installations\fP allow for installation into your home directory to prevent breaking any system\-wide packages.
87+
pip \X'tty: link https://pip.pypa.io/en/stable/user_guide/#user-installs'\fI\%user installations\fP\X'tty: link' allow for installation into your home directory to prevent breaking any system\-wide packages.
9488
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.
9589
.UNINDENT
9690
.UNINDENT
9791
.sp
9892
If \fBpipenv\fP isn’t available in your shell after installation,
9993
you’ll need to add the user site\-packages binary directory to your \fBPATH\fP\&.
10094
.sp
101-
On Linux and macOS you can find the \fI\%user base\fP binary directory by running
95+
On Linux and macOS you can find the \X'tty: link https://docs.python.org/3/library/site.html#site.USER_BASE'\fI\%user base\fP\X'tty: link' binary directory by running
10296
\fBpython \-m site \-\-user\-base\fP and appending \fBbin\fP to the end. For example,
10397
this will typically print \fB~/.local\fP (with \fB~\fP expanded to the
10498
absolute path to your home directory), so you’ll need to add
10599
\fB~/.local/bin\fP to your \fBPATH\fP\&. You can set your \fBPATH\fP permanently by
106-
\fI\%modifying ~/.profile\fP\&.
100+
\X'tty: link https://stackoverflow.com/a/14638025'\fI\%modifying ~/.profile\fP\X'tty: link'\&.
107101
.sp
108102
On Windows you can find the user base binary directory by running
109103
\fBpython \-m site \-\-user\-site\fP and replacing \fBsite\-packages\fP with
110104
\fBScripts\fP\&. For example, this could return
111105
\fBC:\eUsers\eUsername\eAppData\eRoaming\ePython37\esite\-packages\fP, so you would
112106
need to set your \fBPATH\fP to include
113107
\fBC:\eUsers\eUsername\eAppData\eRoaming\ePython37\eScripts\fP\&. You can set your
114-
user \fBPATH\fP permanently in the \fI\%Control Panel\fP\&.
108+
user \fBPATH\fP permanently in the \X'tty: link https://learn.microsoft.com/en-us/windows/win32/shell/user-environment-variables'\fI\%Control Panel\fP\X'tty: link'\&.
115109
.sp
116110
You may need to log out for the \fBPATH\fP changes to take effect.
117111
.sp
118112
To upgrade pipenv at any time:
119113
.INDENT 0.0
120114
.INDENT 3.5
121115
.sp
122-
.nf
123-
.ft C
116+
.EX
124117
$ pip install \-\-user \-\-upgrade pipenv
125118
126-
.ft P
127-
.fi
119+
.EE
128120
.UNINDENT
129121
.UNINDENT
130122
.SS Homebrew Installation of Pipenv
131123
.INDENT 0.0
132124
.IP \(bu 2
133-
\fI\%Homebrew\fP is a popular open\-source package management system for macOS (or Linux).
125+
\X'tty: link https://brew.sh/'\fI\%Homebrew\fP\X'tty: link' is a popular open\-source package management system for macOS (or Linux).
134126
.UNINDENT
135127
.sp
136128
Once you have installed Homebrew simply run
137129
.INDENT 0.0
138130
.INDENT 3.5
139131
.sp
140-
.nf
141-
.ft C
132+
.EX
142133
$ brew install pipenv
143134
144-
.ft P
145-
.fi
135+
.EE
146136
.UNINDENT
147137
.UNINDENT
148138
.sp
149139
To upgrade pipenv at any time:
150140
.INDENT 0.0
151141
.INDENT 3.5
152142
.sp
153-
.nf
154-
.ft C
143+
.EX
155144
$ brew upgrade pipenv
156145
157-
.ft P
158-
.fi
146+
.EE
159147
.UNINDENT
160148
.UNINDENT
161149
.sp
@@ -173,13 +161,11 @@ tutorial) and run
173161
.INDENT 0.0
174162
.INDENT 3.5
175163
.sp
176-
.nf
177-
.ft C
164+
.EX
178165
$ cd myproject
179166
$ pipenv install <package>
180167
181-
.ft P
182-
.fi
168+
.EE
183169
.UNINDENT
184170
.UNINDENT
185171
.sp
@@ -202,8 +188,7 @@ For example when installing the \fBrequests\fP library, you should get output si
202188
.INDENT 0.0
203189
.INDENT 3.5
204190
.sp
205-
.nf
206-
.ft C
191+
.EX
207192
$ pipenv install requests
208193
Creating a virtualenv for this project...
209194
Pipfile: /home/matteius/pipenv\-triage/test_install2/Pipfile
@@ -232,8 +217,7 @@ To activate this project\(aqs virtualenv, run pipenv shell.
232217
Alternatively, run a command inside the virtualenv with pipenv run.
233218
Installing dependencies from Pipfile.lock (18b4fb)...
234219
235-
.ft P
236-
.fi
220+
.EE
237221
.UNINDENT
238222
.UNINDENT
239223
.SH USING INSTALLED PACKAGES
@@ -242,41 +226,35 @@ Now that \fBrequests\fP is installed you can create a simple \fBmain.py\fP file
242226
.INDENT 0.0
243227
.INDENT 3.5
244228
.sp
245-
.nf
246-
.ft C
229+
.EX
247230
import requests
248231
249232
response = requests.get(\(aqhttps://httpbin.org/ip\(aq)
250233
print(\(aqYour IP is {0}\(aq.format(response.json()[\(aqorigin\(aq]))
251234
252-
.ft P
253-
.fi
235+
.EE
254236
.UNINDENT
255237
.UNINDENT
256238
.sp
257239
Then you can run this script using \fBpipenv run\fP
258240
.INDENT 0.0
259241
.INDENT 3.5
260242
.sp
261-
.nf
262-
.ft C
243+
.EX
263244
$ pipenv run python main.py
264245
265-
.ft P
266-
.fi
246+
.EE
267247
.UNINDENT
268248
.UNINDENT
269249
.sp
270250
You should get output similar to this:
271251
.INDENT 0.0
272252
.INDENT 3.5
273253
.sp
274-
.nf
275-
.ft C
254+
.EX
276255
Your IP is 8.8.8.8
277256
278-
.ft P
279-
.fi
257+
.EE
280258
.UNINDENT
281259
.UNINDENT
282260
.sp

0 commit comments

Comments
 (0)