Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitc344f31

Browse files
committed
Expand more sections
1 parentb5e2324 commitc344f31

File tree

2 files changed

+88
-18
lines changed

2 files changed

+88
-18
lines changed

‎_includes/css/base.css‎

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -274,7 +274,16 @@
274274
width:90%;
275275
}
276276

277-
.highlightpre, .highlightcode {display:block;margin:0;padding:0;background: none;overflow:auto;word-wrap: normal; }
277+
.highlightpre, .highlightcode {
278+
display:block;
279+
margin:0;
280+
padding:0;
281+
background:
282+
none;
283+
overflow:auto;
284+
word-wrap: normal;
285+
white-space: pre;
286+
}
278287

279288
.highlight, .linenodiv {
280289
background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVQIHWPQ1dU1BgABzQC7XXMTYQAAAABJRU5ErkJggg==);

‎_practicalities/intro.md‎

Lines changed: 78 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -11,39 +11,75 @@ This actually made the above easier and less-likely to break.
1111

1212
#As a user
1313

14+
##Install Pip 9.0
15+
1416
If you are already a Python 3 user, you should not encounter a lot of
15-
disruption. Please check that the libraries you use follow best practices not
16-
to break for Python 3 users.
17+
disruption. Please still check that the libraries you use follow best practices
18+
not to break for Python 2 users. Python is a community regardless of which
19+
python version you have to a decide to run, making sure that things works make
20+
the community strong.
21+
22+
Make sure you have Pip >= 9.0, this is especially important if you have Python
23+
2 installations. Having pip 9.0+ will not insure that you install will not
24+
break, but they are more likely not to. Having a version off pip <9.0 can lead
25+
your system to try to upgrade to non-compatible versions of Python packages
26+
even if these are marked as non-compatible.
27+
28+
Make as many other_users_ as possible to install pip >=9.0, for the
29+
transition, it is the slowest part of the ecosystem to update, and is the only
30+
piece that concern all all installations.
31+
32+
##Setuptools
33+
34+
If you are on a system that will not install python wheel and use`setuptools`,
35+
make sure you have setuptools >=24.2.0, or building Python 3 only libraries
36+
might fail, even on Python 2.
1737

18-
Make sure you have Pip >= 9.0
38+
##Local package index
1939

2040
If you are using a custom local package index, for example if you are working
21-
at a company, make sure it implement correctly pep-512 and let pip knows about
22-
the`python_requires` field.
41+
at a company with private packages, make sure it implement correctly pep-503
42+
and let pip knows aboutthe`python_requires` field.
2343

44+
##The state of PyPI
2445

46+
Note that at the time of this writing the patches to`pypi.python.org` are not
47+
deployed yet but should hopefully be deployed soon.
2548

2649

2750
#Preparing your library
2851

29-
Things to speak about:
3052

31-
- Be on recent enough setuptools, since[This
32-
PR](https://github.com/pypa/setuptools/pull/631), 24.2.0 (or above, July 20,
33-
2016, Xavier Fernandez PR.)
3453

35-
Add the followign to your setup.py
54+
As a library author one of the most important factor in a smooth transition is
55+
planning and communication, letting your user base know in advance that the
56+
transition is happening and what step to take is critical for a transition.
57+
58+
For your library code here the steps you need to take to ensure that
59+
installation will fail in the least number of case:
60+
61+
You need to release your new packages version with[setuptools] version 24.2.0
62+
or above, or use one of the alternate package manager that can set the
63+
[`python_require`] metadata field. Without this, pip 9.0**will try** to
64+
install non-compatible version of your software on Python 2. This version of
65+
setuptools is recent (July 20, 2016) and this possible thank to the[work of
66+
Xavier Fernandez](https://github.com/pypa/setuptools/pull/631)
67+
68+
Add the following to your`setup.py`
3669

3770
```
38-
setup(
39-
...
40-
python_requires='>=3.3'
41-
...
42-
)
71+
setup(
72+
...
73+
python_requires='>=3.3'
74+
...
75+
)
4376
```
4477

45-
change >=
78+
Changes`>=3.3` accordingly depending on what version your library decides to
79+
support.
4680

81+
This will make[PyPI aware](linkto mike's PR on warehouse) that your package is
82+
Python 3 only, and[allow pip](link to pip's PR) to be[made aware of this](link to PyPI PR).
4783

4884

4985
- Add a warning at_runtime_ early on master (before switching to Python 3
@@ -102,9 +138,17 @@ This this page for more information : url to here for example.
102138
103139
`^([1-9]\\d*!)?(0|[1-9]\\d*)(\\.(0|[1-9]\\d*))*((a|b|rc)(0|[1-9]\\d*))?(\\.post(0|[1-9]\\d*))?(\\.dev(0|[1-9]\\d*))?`
104140
141+
- depend on setuptools greater than 24.3
142+
105143
106144
107-
# Mitigations
145+
# Recommende Mitigations
146+
147+
Of course regardless of all the care you will take for your library to no break
148+
and to install only on python 2, you will likely have cases where it still end
149+
up being installed on incompatible versions of Python. Simply because users
150+
upgrades rarely and only an old version of pip or setuptools is enough to make
151+
the all update process broken.
108152
109153
- Leave `setup.py` python 2 compatible and fail early. If you detect Python 2
110154
raise a clear error message and ask user to make sure they have pip >9.0 (or
@@ -115,5 +159,22 @@ This this page for more information : url to here for example.
115159
dependencies depending on the version of Python.
116160
117161
162+
# Non recommended mitigation
163+
164+
This is a collection of "mitigation" or "solutions" you will find on the web
165+
and that you will hear about. This is an attempt to acknowlege them, and
166+
explain why they can't work and what are their drawbacks before you attempt to
167+
implement them.
168+
169+
### Use a meta-package.
170+
171+
172+
173+
174+
# Why all that ?
175+
176+
You might wonder why all thi, it's 2016 already, so how come all these issues ?
177+
Python 3 has been out for 8+ years now !
118178
179+
Well there are many reasons to this,
119180

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp