Python 3.5 wurde veröffentlicht [^ 1]. Es scheint, dass Anaconda [^ 2] ebenfalls unterstützt wird. Normalerweise benutze ich Anaconda. Lassen Sie uns also überprüfen, wie sich das Paket auf Anaconda geändert hat. Lassen Sie uns zuerst die Daten von der Anaconda-Site abrufen und daraus eine Pandas-Tabelle machen.
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'])
Schauen wir uns die Anzahl der enthaltenen Pakete an.
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
Sehen wir uns die Anzahl der Erstinstallationen an. 3.4 scheint außerhalb des Anwendungsbereichs zu liegen.
python
print('In intaller:', a[a.ini].groupby('ver').size())
>>>
In intaller: ver
2.7 168
3.5 153
dtype: int64
Stellen Sie es auf einmal ein.
python
a27, a34, a35 = a.groupby('ver').nam
a27, a34, a35 = set(a27[1]), set(a34[1]), set(a35[1])
Dinge, die in der Python 3-Serie, aber nicht in der 2-Serie enthalten sind.
python
print('Only 3.X', (a34|a35) - a27)
>>>
Only 3.X {'blosc', 'xz'}
Es scheint niemanden mit nur Python 3.4 zu geben.
python
print('Only 3.4', a34 - (a27|a35))
>>>
Only 3.4 set()
In Python 3.5 scheint sich nichts erhöht zu haben.
python
print('In 3.5 but 3.4', a35 - a34)
>>>
In 3.5 but 3.4 set()
Ein mit Python 3.5 erstelltes Paket.
python
print('Disappeared at 3.5', a34 - a35)
>>>
Disappeared at 3.5 {'yt', 'azure', 'bottleneck', 'llvmlite', 'numba', 'blaze'}
Etwas, das in Python2.7, aber nicht in Python3.X enthalten ist. Es scheint jedoch, dass einige davon mit pip installiert werden können.
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'}
Es scheint, dass anaconda3 [^ 3] von Docker Hub ebenfalls auf 3.5 geändert wurde.
[^ 1]: Python 3.5-Version
Recommended Posts