2015-04-27 5 views
6

Ich benutze VMplayer und mein OS ist Lubuntu 14.04. Es kommt mit einem vorinstallierten python3.4.0, aber ich möchte python3.4.3 installieren. Ich habe die Datei .tar.xz von here heruntergeladen.Fehler/fehlgeschlagene Tests bei der Installation von Python3.4.3 auf Lubuntu 14.04

I extrahiert dann die Datei und folgen Sie den Anweisungen in der Readme:

./configure 
make 
make test 

Als ich lief zunächst

make test 

gesagt "3 Tests nicht bestanden, 3 geändert Ausführungsumgebung und 25 übersprungen" . Ich stellte die Frage auf SO hier: Installing Python3.4.3: 3 tests failed, 3 altered execution environment and 25 skipped

Ich habe dann

sudo apt-get install libssl-dev 

und tat

./configure 
make 

wieder und sagte:

Python build finished successfully! 
The necessary bits to build these optional modules were not found: 
_bz2     _curses    _curses_panel  
_dbm     _gdbm     _lzma    
_sqlite3    _tkinter    readline   
To find the necessary bits, look in setup.py in detect_modules() for the module's name. 

Jetzt, als ich versuchte

make test 

gesagt

1 test failed: 
    test_ssl 
2 tests altered the execution environment: 
    test___all__ test_warnings 
21 tests skipped: 
    test_bz2 test_curses test_dbm_gnu test_dbm_ndbm test_devpoll 
    test_gdb test_idle test_kqueue test_lzma test_msilib 
    test_ossaudiodev test_readline test_sqlite test_startfile test_tcl 
    test_tk test_ttk_guionly test_ttk_textonly test_winreg 
    test_winsound test_zipfile64 
Re-running failed tests in verbose mode 
Re-running test 'test_ssl' in verbose mode 
test_ssl: testing with 'OpenSSL 1.0.1f 6 Jan 2014' (1, 0, 1, 6, 15) 
      under Linux ('debian', 'jessie/sid', '') 
      HAS_SNI = True 
      OP_ALL = 0x-7ffffc01 
      OP_NO_TLSv1_1 = 0x10000000 
test__create_stdlib_context (test.test_ssl.ContextTests) ... ok 
test_cert_store_stats (test.test_ssl.ContextTests) ... ok 
test_check_hostname (test.test_ssl.ContextTests) ... ok 
test_ciphers (test.test_ssl.ContextTests) ... ok 
test_constructor (test.test_ssl.ContextTests) ... ok 
test_create_default_context (test.test_ssl.ContextTests) ... ok 
test_get_ca_certs (test.test_ssl.ContextTests) ... ok 
test_load_cert_chain (test.test_ssl.ContextTests) ... ok 
test_load_default_certs (test.test_ssl.ContextTests) ... ok 
test_load_default_certs_env (test.test_ssl.ContextTests) ... ok 
test_load_default_certs_env_windows (test.test_ssl.ContextTests) ... skipped 'Windows specific' 
test_load_dh_params (test.test_ssl.ContextTests) ... ok 
test_load_verify_cadata (test.test_ssl.ContextTests) ... ok 
test_load_verify_locations (test.test_ssl.ContextTests) ... ok 
test_options (test.test_ssl.ContextTests) ... ok 
test_protocol (test.test_ssl.ContextTests) ... ok 
test_session_stats (test.test_ssl.ContextTests) ... ok 
test_set_default_verify_paths (test.test_ssl.ContextTests) ... ok 
test_set_ecdh_curve (test.test_ssl.ContextTests) ... ok 
test_sni_callback (test.test_ssl.ContextTests) ... ok 
test_sni_callback_refcycle (test.test_ssl.ContextTests) ... ok 
test_verify_flags (test.test_ssl.ContextTests) ... ok 
test_verify_mode (test.test_ssl.ContextTests) ... ok 
test_DER_to_PEM (test.test_ssl.BasicSocketTests) ... ok 
test_asn1object (test.test_ssl.BasicSocketTests) ... ok 
test_constants (test.test_ssl.BasicSocketTests) ... ok 
test_dealloc_warn (test.test_ssl.BasicSocketTests) ... ok 
test_enum_certificates (test.test_ssl.BasicSocketTests) ... skipped 'Windows specific' 
test_enum_crls (test.test_ssl.BasicSocketTests) ... skipped 'Windows specific' 
test_errors (test.test_ssl.BasicSocketTests) ... ok 
test_get_default_verify_paths (test.test_ssl.BasicSocketTests) ... ok 
test_match_hostname (test.test_ssl.BasicSocketTests) ... ok 
test_openssl_version (test.test_ssl.BasicSocketTests) ... ok 
test_parse_cert (test.test_ssl.BasicSocketTests) ... 
{'issuer': ((('countryName', 'XY'),), 
      (('localityName', 'Castle Anthrax'),), 
      (('organizationName', 'Python Software Foundation'),), 
      (('commonName', 'localhost'),)), 
'notAfter': 'Oct 5 23:01:56 2020 GMT', 
'notBefore': 'Oct 8 23:01:56 2010 GMT', 
'serialNumber': 'D7C7381919AFC24E', 
'subject': ((('countryName', 'XY'),), 
      (('localityName', 'Castle Anthrax'),), 
      (('organizationName', 'Python Software Foundation'),), 
      (('commonName', 'localhost'),)), 
'subjectAltName': (('DNS', 'localhost'),), 
'version': 3} 

{'OCSP': ('http://ocsp.verisign.com',), 
'caIssuers': ('http://SVRIntl-G3-aia.verisign.com/SVRIntlG3.cer',), 
'crlDistributionPoints': ('http://SVRIntl-G3-crl.verisign.com/SVRIntlG3.crl',), 
'issuer': ((('countryName', 'US'),), 
      (('organizationName', 'VeriSign, Inc.'),), 
      (('organizationalUnitName', 'VeriSign Trust Network'),), 
      (('organizationalUnitName', 
       'Terms of use at https://www.verisign.com/rpa (c)10'),), 
      (('commonName', 'VeriSign Class 3 International Server CA - G3'),)), 
'notAfter': 'Sep 20 23:59:59 2012 GMT', 
'notBefore': 'Sep 21 00:00:00 2011 GMT', 
'serialNumber': '2EE6EA7640A075CEE5005F4D7C79549A', 
'subject': ((('countryName', 'FI'),), 
      (('stateOrProvinceName', 'Espoo'),), 
      (('localityName', 'Espoo'),), 
      (('organizationName', 'Nokia'),), 
      (('organizationalUnitName', 'BI'),), 
      (('commonName', 'projects.developer.nokia.com'),)), 
'subjectAltName': (('DNS', 'projects.developer.nokia.com'), 
        ('DNS', 'projects.forum.nokia.com')), 
'version': 3} 
ok 
test_parse_cert_CVE_2013_4238 (test.test_ssl.BasicSocketTests) ... 
{'issuer': ((('countryName', 'US'),), 
      (('stateOrProvinceName', 'Oregon'),), 
      (('localityName', 'Beaverton'),), 
      (('organizationName', 'Python Software Foundation'),), 
      (('organizationalUnitName', 'Python Core Development'),), 
      (('commonName', 'null.python.org\x00example.org'),), 
      (('emailAddress', '[email protected]'),)), 
'notAfter': 'Aug 7 13:12:52 2013 GMT', 
'notBefore': 'Aug 7 13:11:52 2013 GMT', 
'serialNumber': '00', 
'subject': ((('countryName', 'US'),), 
      (('stateOrProvinceName', 'Oregon'),), 
      (('localityName', 'Beaverton'),), 
      (('organizationName', 'Python Software Foundation'),), 
      (('organizationalUnitName', 'Python Core Development'),), 
      (('commonName', 'null.python.org\x00example.org'),), 
      (('emailAddress', '[email protected]'),)), 
'subjectAltName': (('DNS', 'altnull.python.org\x00example.com'), 
        ('email', '[email protected]\[email protected]'), 
        ('URI', 'http://null.python.org\x00http://example.org'), 
        ('IP Address', '192.0.2.1'), 
        ('IP Address', '2001:DB8:0:0:0:0:0:1\n')), 
'version': 3} 
ok 
test_purpose_enum (test.test_ssl.BasicSocketTests) ... ok 
test_random (test.test_ssl.BasicSocketTests) ... 
RAND_status is 1 (sufficient randomness) 
ok 
test_random_fork (test.test_ssl.BasicSocketTests) ... ok 
test_refcycle (test.test_ssl.BasicSocketTests) ... ok 
test_server_side (test.test_ssl.BasicSocketTests) ... ok 
test_timeout (test.test_ssl.BasicSocketTests) ... ok 
test_tls_unique_channel_binding (test.test_ssl.BasicSocketTests) ... ok 
test_unknown_channel_binding (test.test_ssl.BasicSocketTests) ... ok 
test_unsupported_dtls (test.test_ssl.BasicSocketTests) ... ok 
test_wrapped_unconnected (test.test_ssl.BasicSocketTests) ... ok 
test_lib_reason (test.test_ssl.SSLErrorTests) ... ok 
test_str (test.test_ssl.SSLErrorTests) ... ok 
test_subclass (test.test_ssl.SSLErrorTests) ... ok 
test_algorithms (test.test_ssl.NetworkedTests) ... 
Cipher with ('sha256.tbs-internet.com', 443) is ('RC4-SHA', 'TLSv1/SSLv3', 128) 
Certificate is: 
{'OCSP': ('http://ocsp.tbs-x509.com',), 
'caIssuers': ('http://crt.tbs-internet.com/TBSX509CASGC.crt', 
       'http://crt.tbs-x509.com/TBSX509CASGC.crt'), 
'crlDistributionPoints': ('http://crl.tbs-internet.com/TBSX509CASGC.crl', 
          'http://crl.tbs-x509.com/TBSX509CASGC.crl'), 
'issuer': ((('countryName', 'FR'),), 
      (('stateOrProvinceName', 'Calvados'),), 
      (('localityName', 'Caen'),), 
      (('organizationName', 'TBS INTERNET'),), 
      (('organizationalUnitName', 
       'Terms and Conditions: ' 
       'http://www.tbs-internet.com/CA/repository'),), 
      (('organizationalUnitName', 'TBS INTERNET CA'),), 
      (('commonName', 'TBS X509 CA SGC'),)), 
'notAfter': 'Feb 17 23:59:59 2016 GMT', 
'notBefore': 'Feb 11 00:00:00 2014 GMT', 
'serialNumber': '1F94DEE8F046B340A6026500A4002CF8', 
'subject': ((('countryName', 'FR'),), 
      (('postalCode', '14000'),), 
      (('stateOrProvinceName', 'Calvados'),), 
      (('localityName', 'CAEN'),), 
      (('streetAddress', '22 RUE DE BRETAGNE'),), 
      (('organizationName', 'TBS INTERNET'),), 
      (('organizationalUnitName', '0002 440443810'),), 
      (('organizationalUnitName', 'sha-256 production'),), 
      (('commonName', 'sha256.tbs-internet.com'),)), 
'subjectAltName': (('DNS', 'sha256.tbs-internet.com'), 
        ('DNS', 'www.sha256.tbs-internet.com')), 
'version': 3} 
ok 
test_ciphers (test.test_ssl.NetworkedTests) ... ok 
test_connect (test.test_ssl.NetworkedTests) ... ok 
test_connect_cadata (test.test_ssl.NetworkedTests) ... ok 
test_connect_capath (test.test_ssl.NetworkedTests) ... ok 
test_connect_ex (test.test_ssl.NetworkedTests) ... ok 
test_connect_ex_error (test.test_ssl.NetworkedTests) ... ok 
test_connect_with_context (test.test_ssl.NetworkedTests) ... ERROR 
/home/a/Downloads/python3.4.3/Python-3.4.3/Lib/unittest/case.py:605: ResourceWarning: unclosed <ssl.SSLSocket fd=4, family=AddressFamily.AF_INET, type=2049, proto=0, laddr=('192.168.174.253', 37135), raddr=('82.94.164.164', 443)> 
    outcome.errors.clear() 
test_context_setget (test.test_ssl.NetworkedTests) ... ok 
test_get_ca_certs_capath (test.test_ssl.NetworkedTests) ... ok 
test_get_server_certificate (test.test_ssl.NetworkedTests) ... [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:600) 

Verified certificate for svn.python.org:443 is 
-----BEGIN CERTIFICATE----- 
MIIEzzCCAregAwIBAgIDDkGJMA0GCSqGSIb3DQEBBQUAMHkxEDAOBgNVBAoTB1Jv 
b3QgQ0ExHjAcBgNVBAsTFWh0dHA6Ly93d3cuY2FjZXJ0Lm9yZzEiMCAGA1UEAxMZ 
Q0EgQ2VydCBTaWduaW5nIEF1dGhvcml0eTEhMB8GCSqGSIb3DQEJARYSc3VwcG9y 
dEBjYWNlcnQub3JnMB4XDTEzMTIyNDIwMjgzMloXDTE1MTIyNDIwMjgzMlowGTEX 
MBUGA1UEAxMOc3ZuLnB5dGhvbi5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw 
ggEKAoIBAQDM6un3wTW9+HVJ7KC+/GwL0KAxehug0tw2YoSSX+TGxLyr9AUtBHQk 
hCNWhRLewa0WMOY6hxIIQY1Hp6vreDiCbBehjVkEAydlKBzaAsgYCEbCC/ZaMzhv 
aaFAiLVeaxAKJsBGUJNz5hGgzd67A6SGz+XK7qDWig4NR5eFrsr3DvjyEM7txMiG 
gftGWLkadOuqUQsI20AykBGi+RxmrQIwqO2svGmje89DsWVILdP37PssM2zqRonh 
4fUKooei3L43tXbTdHayXc9NtFS7q8T4eUlyWaD+BtP80QQOQFFvi+qZpme9bmYI 
7YPX+e86lZtxAKM9nWrP93qc+2nS0MsHAgMBAAGjgb8wgbwwDAYDVR0TAQH/BAIw 
ADAOBgNVHQ8BAf8EBAMCA6gwNAYDVR0lBC0wKwYIKwYBBQUHAwIGCCsGAQUFBwMB 
BglghkgBhvhCBAEGCisGAQQBgjcKAwMwMwYIKwYBBQUHAQEEJzAlMCMGCCsGAQUF 
BzABhhdodHRwOi8vb2NzcC5jYWNlcnQub3JnLzAxBgNVHR8EKjAoMCagJKAihiBo 
dHRwOi8vY3JsLmNhY2VydC5vcmcvcmV2b2tlLmNybDANBgkqhkiG9w0BAQUFAAOC 
AgEAvq2TlM5voqqwlfbEIwdNM3RlqHattH/h2Pqkr5FV6nynhcNyP9wBJyS5mdlt 
+tj1Fy6oV+iN0s8VglrwhsmYN2pbJkCJZcNgrhFTiOvZ3HJ0jxkQ8TaROfcH1RnZ 
q45DcbSnryiIDBQNYxmUf/bE6Ce+48fiOJpTRtrC8iWfz4J/JHYZ5FVKx+SsC67o 
E1iCT2/r1PSvzTg/bohL1kX6Aj3H3UqlXDuDybyHRrTn9kUwCgXK2h4x/qae6xjo 
Gy++gtzg4XlJEAh65znJ2RlAYi3lvhCls+viR5vSIXBEXmBPFNonGnPtGRyx6Tii 
5ncSUP+bp6aaRZb0qEi0k1R5XYPt5Hm7T/h4IOAKlx7gPMMLOXqbrlWpjgwhfysI 
f/KkgGBq7nTsC6WeaW/QUQtdXqWULrK+nINY+s/CRX5UxdAWpqMxqgNkP3zef9yO 
etgfpR+6NArjiLNcfJO2yGZTcXn1H2gewTcxwmc+QVWday9HcS3paMpot8BwWUpI 
LzOLGTeNH+rQCUAKJHAiK3Ogee+hka4icIN7cKOIIVfZ/XBj1Ex7zjc3j72axNba 
S1buqvrm12YCE5+xAjYwU/Nrl4HNFKCoPW7qfEaEuwp49pieAIOnXa82rCh/UdAv 
dSj5JpEvxjTuZdVfbk2VUc/z2OeLzFlrQRJsOt1MisY0Aoc= 
-----END CERTIFICATE----- 

skipped "Resource 'ipv6.google.com' is not available" 
test_makefile_close (test.test_ssl.NetworkedTests) ... ok 
test_non_blocking_connect_ex (test.test_ssl.NetworkedTests) ... ok 
test_non_blocking_handshake (test.test_ssl.NetworkedTests) ... 
Needed 3 calls to do_handshake() to establish session. 
ok 
test_timeout_connect_ex (test.test_ssl.NetworkedTests) ... ok 
test_asyncore_server (test.test_ssl.ThreadedTests) 
Check the example asyncore integration. ... 
server: new connection from 127.0.0.1:57771 
client: sending b'FOO\n'... 
server: read b'FOO\n' from client 
client: read b'foo\n' 
client: closing connection. 
client: connection closed. 
cleanup: stopping server. 
cleanup: joining server thread. 
server: read b'over\n' from client 
server: closed connection <ssl.SSLSocket [closed] fd=-1, family=AddressFamily.AF_INET, type=2049, proto=0> 
server: read b'' from client 
cleanup: successfully joined. 
ok 
test_check_hostname (test.test_ssl.ThreadedTests) ... 
server: new connection from ('127.0.0.1', 47566) 
server: connection cipher is now ('ECDHE-RSA-AES256-SHA', 'TLSv1/SSLv3', 256) 
server: selected protocol is now None 
server: new connection from ('127.0.0.1', 47927) 
server: connection cipher is now ('ECDHE-RSA-AES256-SHA', 'TLSv1/SSLv3', 256) 
server: selected protocol is now None 
ok 
test_compression (test.test_ssl.ThreadedTests) ... server: new connection from ('127.0.0.1', 44281) 
client: sending b'FOO\n'... 
server: connection cipher is now ('ECDHE-RSA-AES256-SHA', 'TLSv1/SSLv3', 256) 
server: selected protocol is now None 
client: read b'foo\n' 
client: sending b'FOO\n'... 
client: read b'foo\n' 
client: sending b'FOO\n'... 
client: read b'foo\n' 
client: closing connection. 
got compression: None 
ok 
test_compression_disabled (test.test_ssl.ThreadedTests) ... server: new connection from ('127.0.0.1', 44325) 
client: sending b'FOO\n'... 
server: connection cipher is now ('ECDHE-RSA-AES256-SHA', 'TLSv1/SSLv3', 256) 
server: selected protocol is now None 
client: read b'foo\n' 
client: sending b'FOO\n'... 
client: read b'foo\n' 
client: sending b'FOO\n'... 
client: read b'foo\n' 
client: closing connection. 
ok 
test_crl_check (test.test_ssl.ThreadedTests) ... 
server: new connection from ('127.0.0.1', 42401) 
server: connection cipher is now ('ECDHE-RSA-AES256-SHA', 'TLSv1/SSLv3', 256) 
server: selected protocol is now None 
server: new connection from ('127.0.0.1', 39995) 

server: bad connection attempt from ('127.0.0.1', 39995): 
Traceback (most recent call last): 
    File "/home/a/Downloads/python3.4.3/Python-3.4.3/Lib/test/test_ssl.py", line 1532, in wrap_conn 
    self.sock, server_side=True) 
    File "/home/a/Downloads/python3.4.3/Python-3.4.3/Lib/ssl.py", line 365, in wrap_socket 
    _context=self) 
    File "/home/a/Downloads/python3.4.3/Python-3.4.3/Lib/ssl.py", line 583, in __init__ 
    self.do_handshake() 
    File "/home/a/Downloads/python3.4.3/Python-3.4.3/Lib/ssl.py", line 810, in do_handshake 
    self._sslobj.do_handshake() 
ssl.SSLError: [SSL: TLSV1_ALERT_UNKNOWN_CA] tlsv1 alert unknown ca (_ssl.c:600) 
server: new connection from ('127.0.0.1', 55142) 
server: connection cipher is now ('ECDHE-RSA-AES256-SHA', 'TLSv1/SSLv3', 256) 
server: selected protocol is now None 
ok 
test_default_ciphers (test.test_ssl.ThreadedTests) ... ok 
test_default_ecdh_curve (test.test_ssl.ThreadedTests) ... server: new connection from ('127.0.0.1', 49676) 
server: connection cipher is now ('ECDHE-RSA-AES256-GCM-SHA384', 'TLSv1/SSLv3', 256) 
server: selected protocol is now None 
ok 
test_dh_params (test.test_ssl.ThreadedTests) ... server: new connection from ('127.0.0.1', 45312) 
client: sending b'FOO\n'... 
server: connection cipher is now ('DHE-RSA-AES256-SHA', 'TLSv1/SSLv3', 256) 
server: selected protocol is now None 
client: read b'foo\n' 
client: sending b'FOO\n'... 
client: read b'foo\n' 
client: sending b'FOO\n'... 
client: read b'foo\n' 
client: closing connection. 
ok 
test_do_handshake_enotconn (test.test_ssl.ThreadedTests) ... ok 
test_echo (test.test_ssl.ThreadedTests) 
Basic test of an SSL client connecting to a server ... 
server: new connection from ('127.0.0.1', 60169) 
client: sending b'FOO\n'... 
server: connection cipher is now ('ECDHE-RSA-AES256-SHA', 'TLSv1/SSLv3', 256) 
server: selected protocol is now None 
client: read b'foo\n' 
client: sending b'FOO\n'... 
client: read b'foo\n' 
client: sending b'FOO\n'... 
client: read b'foo\n' 
client: closing connection. 
server: new connection from ('127.0.0.1', 57455) 
client: sending b'FOO\n'... 
server: connection cipher is now ('ECDHE-RSA-AES256-GCM-SHA384', 'TLSv1/SSLv3', 256) 
server: selected protocol is now None 
client: read b'foo\n' 
client: sending b'FOO\n'... 
client: read b'foo\n' 
client: sending b'FOO\n'... 
client: read b'foo\n' 
client: closing connection. 
server: new connection from ('127.0.0.1', 54910) 
client: sending b'FOO\n'... 
server: connection cipher is now ('ECDHE-RSA-AES256-SHA', 'TLSv1/SSLv3', 256) 
server: selected protocol is now None 
client: read b'foo\n' 
client: sending b'FOO\n'... 
client: read b'foo\n' 
client: sending b'FOO\n'... 
client: read b'foo\n' 
client: closing connection. 
server: new connection from ('127.0.0.1', 44655) 
client: sending b'FOO\n'... 
server: connection cipher is now ('ECDHE-RSA-AES256-SHA', 'TLSv1/SSLv3', 256) 
====================================================================== 
ERROR: test_connect_with_context (test.test_ssl.NetworkedTests) 
---------------------------------------------------------------------- 
Traceback (most recent call last): 
    File "/home/a/Downloads/python3.4.3/Python-3.4.3/Lib/test/test_ssl.py", line 1285, in test_connect_with_context 
    s.connect(("svn.python.org", 443)) 
    File "/home/a/Downloads/python3.4.3/Python-3.4.3/Lib/ssl.py", line 846, in connect 
    self._real_connect(addr, False) 
    File "/home/a/Downloads/python3.4.3/Python-3.4.3/Lib/ssl.py", line 837, in _real_connect 
    self.do_handshake() 
    File "/home/a/Downloads/python3.4.3/Python-3.4.3/Lib/ssl.py", line 810, in do_handshake 
    self._sslobj.do_handshake() 
ssl.SSLEOFError: EOF occurred in violation of protocol (_ssl.c:600) 

---------------------------------------------------------------------- 
Ran 99 tests in 85.177s 

FAILED (errors=1, skipped=5) 
test test_ssl failed 
make: *** [test] Error 1 

Es gibt ein bisschen mehr Code in der Mitte war, aber ich gelöscht, weil es den Körper Grenze überschreiten würde. Nichtsdestoweniger ist die Hauptsache, 1 Test ist fehlgeschlagen, 2 Tests haben die Ausführungsumgebung verändert und 21 Tests wurden übersprungen.

Irgendeine Idee, warum bekomme ich fehlgeschlagene und übersprungene Tests, obwohl ich die genauen Schritte auf the Python downloads page folgte? Gibt es eine einfachere Möglichkeit, Python3.4.3 auf meinem Betriebssystem zu installieren?

+0

Warum aus der Quelle bauen? Warum nicht apt-get python3 installieren? –

+0

@AndyHayden wird es die gleiche Sache sein, wenn ich apt-get verwende? Ich googelte einfach "wie man Python 3.4.3 herunterlädt" und der erste Link war die Python-Webseite (https://www.python.org/downloads/), die den "download python 3.4.3" Button hatte. Ich habe darauf geklickt, die Datei heruntergeladen und dann die Anweisungen in der README befolgt. Ich wusste nie, dass ich auf Probleme stoße, wenn ich den Anweisungen auf der Python-Website folge. – user2719875

+0

Wenn Sie (L) ubuntu verwenden, sollten Sie apt-get verwenden. Wenn Sie die Binärdatei (z. B. .deb von python.org) heruntergeladen haben, müssen Sie nicht "make" (das ist nur, wenn Sie aus der Quelle bauen - was Sie nicht sind) ... –

Antwort

1

Aus dem Test hat Python OK aufgebaut. "Python-Build erfolgreich beendet!" Die fehlenden Module sind da, weil Sie nicht die entsprechende Software auf Ihrem Computer installiert haben.

Dies ist nicht anders als die Verwendung von apt-get, also zum Beispiel Ihre fehlende _tkinter dies ist, weil Sie nicht die Pakete haben, um es auszuführen. Wenn Sie also apt-get verwenden, müssten Sie "apt-get install python-tk" verwenden, damit apt-get die relevanten Abhängigkeiten einholt. Die Logik ist, wenn Sie die Software nicht installiert haben, brauchen Sie die Module nicht, um sie zu programmieren.

Die einzige Sorge, die ich mit den "make Tests" sehen kann, ist der Ausfall von ssl.

1 test failed: 
    test_ssl 

auf den Test Suchen Ergebnisse, die Sie sehen: -

test_ssl: testing with 'OpenSSL 1.0.1f 6 Jan 2014' (1, 0, 1, 6, 15) 
     under Linux ('debian', 'jessie/sid', '') 
     HAS_SNI = True 
     OP_ALL = 0x-7ffffc01 
     OP_NO_TLSv1_1 = 0x10000000 

Diese Version von OpenSSL enthält die SSL-Protokoll Sicherheitslücke, die im vergangenen Jahr waren entdecken und wurde in OpenSSL 1.0.1j [15. Oktober 2014 festgelegt ]. Sie finden diese Information here.

Ich bin nicht wirklich bis auf Ubuntu als ich Fedora verwenden, aber Sie könnten versuchen: -

apt-get update 
apt-get dist-upgrade 

Und sehen, ob die SSL-Sicherheitslücke behebt, dass Ihr Computer hat.

Auf der anderen Seite, wenn Sie Python-Anwendungen für andere Systeme als die, die Sie verwenden, entwickeln möchten, ist die Installation von der Quelle der einzige Weg zu gehen.

Es gibt viele gute Gründe, aus tar.gz zu kompilieren.

  1. Die meisten Linux-Distributionen verwenden Python intern und sind daher mit einer Version verknüpft.

  2. Sie können Konflikte zwischen Modulen, die Sie importieren, erhalten.

  3. können Sie Ihren Code gegen verschiedene Versionen von Python testen.

  4. Sie benötigen keine root-Berechtigungen, richten Sie Ihre eigenen Versionen ein, was Sie tun, ist unabhängig von allem, was das Betriebssystem benötigt.

So für dieses Beispiel meine Heimat ist /home/paul und ich habe auf Verzeichnisse in der Wurzel meiner Heimat geschaffen. Ein Aufruf src, den ich als Quellverzeichnis verwenden werde, und ein Aufruf opt, der meine Python-Versionen enthalten wird.

Der Trick ist, Python zu sagen, wohin die Installation gehen soll. Setzen Sie die Datei tar.gz in das Verzeichnis src und erweitern Sie sie. Öffnen Sie das Terminal und ..

cd ~/src/Python-X.X.X 
./configure --prefix=/home/paul/opt/python.x.x.x 
make 
make test <optional> 
make install 

Hinweis zu keinem Zeitpunkt habe ich sudo benutzen, wie ich Rechte an meinem Home-Verzeichnis haben, und ich bin nicht etwas anderes auf dem System zu bewirken.

Jetzt zu testen ...

~/opt/python.3.4.2/bin/python3 
Python 3.4.2 (default, Mar 28 2015, 19:36:24) 
[GCC 4.9.2 20150212 (Red Hat 4.9.2-6)] on linux 
Type "help", "copyright", "credits" or "license" for more information. 
>>> 

Und Sie können nur halten Testversionen Hinzufügen als neue Versionen kommen nur auf die Version, die Sie verwenden möchten, indem Sie Ihre Code starten erinnern.

+0

@ReculsizeGeek Sie erwähnt "Auf der anderen Seite, wenn Sie Python-Anwendungen für andere Systeme als die Ihre verwenden möchten, ist die Installation von der Quelle der einzige Weg zu gehen.". Meinst du damit, dass die Installation mit der Datei .tar.xz der richtige Weg ist und besser ist als die Verwendung von apt-get, um sie zu installieren? Wenn ja, wie kommt es? – user2719875

+0

Ja Installation von der .tar.gz ist der Weg zu gehen .... Wird die Gründe als Antwort posten, da es einige Erläuterungen benötigen wird. – ReclusiveGeek

+0

@ReclusizeGeek By the way, da es sagte "Die notwendigen Bits, um diese optionalen Module zu bauen wurden nicht gefunden: _bz2 _curses _curses_panel _dbm _gdbm _lzma _sqlite3 _tkinter readline". Bedeutet das, dass wenn ich "sudo make install" mache, Python 3.4.3 nicht richtig installiert wird, weil diese notwendigen Bits nicht gefunden wurden? Es erscheint mir komisch, dass nachdem ich die Anweisungen auf der Python-Website/README-Datei befolgt habe, im Grunde genommen gesagt wurde "Python ist außer für diese notwendigen Bits installiert". Wie wird mich das nicht auf die Dauer beeinflussen? – user2719875

2

Dieser Befehl wird in den notwendigen Abhängigkeiten zieht Python 3.4 von Quelle zu bauen:

sudo apt-get build-dep python3.4 

Sehen Sie sich auch durch pyenv Installation zu vermeiden, dass ein Konflikt mit dem Betriebssystem zu schaffen. Installationsanleitungen finden Sie hier: http://davebehnke.com/python-pyenv-ubuntu.html