2017-07-27 19 views
0

Comment définir la version python dans mon rôle solo-chef?Comment définir la version python dans mon chef-solo en utilisant poise-python

"poise-python":{ 
     "install_python2": true, 
     "install_python3": true 
    }, 

la valeur par défaut pour Python est de 3,5, mais je veux 3,6

lorsque vous utilisez le dessous sur ubuntu 16.04 Je reçois cette erreur:

"poise-python":{ 
    "install_python2": true, 
    "install_python3": true, 
    "options":{ 
     "package_name":"python3.6" 
    } 
}, 



Recipe: poise-python::default 
    * python_runtime[3] action install 
    * poise_languages_system[python3.6] action install 

    Running handlers: 
[2017-08-01T04:48:41+00:00] ERROR: Running exception handlers 
[2017-08-01T04:48:41+00:00] ERROR: Running exception handlers 
    Running handlers complete 
[2017-08-01T04:48:41+00:00] ERROR: Exception handlers complete 
[2017-08-01T04:48:41+00:00] ERROR: Exception handlers complete 
    Chef Client failed. 0 resources updated in 03 seconds 
[2017-08-01T04:48:41+00:00] FATAL: Stacktrace dumped to /var/chef/cache/chef-stacktrace.out 
[2017-08-01T04:48:41+00:00] FATAL: Stacktrace dumped to /var/chef/cache/chef-stacktrace.out 
[2017-08-01T04:48:41+00:00] FATAL: Please provide the contents of the stacktrace.out file if you file a bug report 
[2017-08-01T04:48:41+00:00] FATAL: Please provide the contents of the stacktrace.out file if you file a bug report 
[2017-08-01T04:48:41+00:00] ERROR: Package python3.6 would install nil, which does not match 3. Please set the package_name or package_version provider options. 
[2017-08-01T04:48:41+00:00] ERROR: Package python3.6 would install nil, which does not match 3. Please set the package_name or package_version provider options. 
[2017-08-01T04:48:41+00:00] FATAL: Chef::Exceptions::ChildConvergeError: Chef run process exited unsuccessfully (exit code 1) 
[2017-08-01T04:48:41+00:00] FATAL: Chef::Exceptions::ChildConvergeError: Chef run process exited unsuccessfully (exit code 1) 

Répondre

0

Il installe le dernier 3.x il sait pour le fournisseur choisi, qui serait soit des paquets de distribution, soit SCL actuellement. Probablement besoin de mise à jour pour savoir quels systèmes d'exploitation ont 3.6 disponibles. Si vous me dites sur quel OS vous êtes, je peux vous dire comment le remplacer.

+0

Ubuntu 14.04 ET 16.04 – Tampa

+0

3.6 paquets ne sont pas disponibles pour 14.04, pour 16.04 vous pouvez le remplacer comme ceci: 'options nom_du_package: 'python3.6''. Je vais mettre les choses à jour pour 16.04 quand j'aurai une chance. – coderanger

+0

Où dois-je placer "options nom_package: 'python3.6'"? Je cherchais à placer dans l'objet json dans mon rôle .. juste pour 16.04 est bien – Tampa