Python 3.5 a été publié [^ 1]. Il semble qu'Anaconda [^ 2] soit également pris en charge. J'utilise habituellement Anaconda, alors vérifions comment le paquet a changé sur Anaconda. Tout d'abord, récupérons les données du site d'Anaconda et en faisons une table de pandas.
python
import pandas as pd
from urllib import request
from bs4 import BeautifulSoup
with request.urlopen('http://docs.continuum.io/anaconda/pkg-docs') as fp:
s = fp.readall()
bs = BeautifulSoup(s)
ls = bs.findAll('table', attrs={'class':'docutils'})
vers = [2.7, 3.4, 3.5]
res = []
for i in range(len(vers)):
rows = ls[i].findAll('tr')
for r in rows[1:]:
t = r.findAll('td')
res.append((vers[i], t[0].find('a').text, len(t[3].contents) > 0))
a = pd.DataFrame(res, columns=['ver', 'nam', 'ini'])
Regardons le nombre de packages inclus.
python
print('Number of supported packages:', a.groupby('ver').size())
>>>
Number of supported packages: ver
2.7 387
3.4 323
3.5 317
dtype: int64
Voyons le nombre d'installations initiales. 3.4 semble hors de portée.
python
print('In intaller:', a[a.ini].groupby('ver').size())
>>>
In intaller: ver
2.7 168
3.5 153
dtype: int64
Réglez-le pour définir une fois.
python
a27, a34, a35 = a.groupby('ver').nam
a27, a34, a35 = set(a27[1]), set(a34[1]), set(a35[1])
Choses qui sont dans la série Python 3 mais pas dans la série 2.
python
print('Only 3.X', (a34|a35) - a27)
>>>
Only 3.X {'blosc', 'xz'}
Il ne semble y avoir personne avec seulement Python 3.4.
python
print('Only 3.4', a34 - (a27|a35))
>>>
Only 3.4 set()
Il semble qu'il n'y ait rien qui ait augmenté dans Python 3.5.
python
print('In 3.5 but 3.4', a35 - a34)
>>>
In 3.5 but 3.4 set()
Un package récupéré avec Python 3.5.
python
print('Disappeared at 3.5', a34 - a35)
>>>
Disappeared at 3.5 {'yt', 'azure', 'bottleneck', 'llvmlite', 'numba', 'blaze'}
Quelque chose qui est en Python2.7 mais pas en Python3.X. Cependant, il semble que certains d'entre eux puissent être installés avec pip.
python
print('Only 2.7', a27 - (a34|a35))
>>>
Only 2.7 {'starcluster', 'python-gdbm', 'mtq', 'traitsui', 'scrapy', 'graphite-web', 'casuarius', 'gensim', 'progressbar', 'ssh', 'grin', 'singledispatch', 'cheetah', 'llvm', 'protobuf', 'websocket', 'gdbm', 'faulthandler', 'gevent-websocket', 'dnspython', 'envisage', 'pyamg', 'py2cairo', 'pixman', 'hyde', 'vtk', 'python-ntlm', 'cdecimal', 'db', 'chaco', 'chalmers', 'mysql-python', 'paste', 'pep381client', 'mercurial', 'mesa', 'fabric', 'googlecl', 'ipaddress', 'apptools', 'gevent', 'bsddb', 'pysam', 'enaml', 'enum34', 'pysal', 'atom', 'supervisor', 'whisper', 'pil', 'ndg-httpsclient', 'essbasepy', 'cairo', 'enable', 'kiwisolver', 'traits', 'orange', 'uuid', 'opencv', 'pandasql', 'gdata', 'lcms', 'xlutils', 'pyaudio', 'pyface', 'ssl_match_hostname'}
Il semble que anaconda3 [^ 3] du hub docker a également changé en 3.5.
[^ 1]: Version Python 3.5
Recommended Posts