Hướng dẫn localhost ansible_python_interpreter python - localhost ansible_python_interpreter python
Ansible 2.5 trở lên hoạt động với Python 3. Trước đó là 2.5, sử dụng Python 3 được coi là một bản xem trước công nghệ. Chủ đề này thảo luận về cách thiết lập bộ điều khiển và máy được quản lý của bạn để sử dụng Python 3. Show Ghi chú Trên bộ điều khiển, chúng tôi hỗ trợ Python 3.5 trở lên và Python 2.7 trở lên. Phía mô-đun, chúng tôi hỗ trợ Python 3.5 trở lên và Python 2.6 trở lên. Ở phía bộ điều khiểnCách dễ nhất để chạy/usr/bin/ansible theo Python 3 là cài đặt nó với phiên bản PIP Python3 của PIP. Điều này sẽ làm cho chạy mặc định/usr/bin/ansible với python3:/usr/bin/ansible under Python 3 is to install it with the Python3 version of pip. This will make the default /usr/bin/ansible run with Python3: $ pip3 install ansible $ ansible --version | grep "python version" python version = 3.6.2 (default, Sep 22 2017, 08:28:09) [GCC 7.2.1 20170915 (Red Hat 7.2.1-2)] Nếu bạn đang chạy ansible chạy nhánh phát triển từ bản sao và muốn sử dụng Python 3 với việc thanh toán nguồn của bạn, hãy chạy lệnh của bạn qua $ source ./hacking/env-setup $ python3 $(which ansible) localhost -m ping $ python3 $(which ansible-playbook) sample-playbook.yml Ghi chú Trên bộ điều khiển, chúng tôi hỗ trợ Python 3.5 trở lên và Python 2.7 trở lên. Phía mô-đun, chúng tôi hỗ trợ Python 3.5 trở lên và Python 2.6 trở lên. Ở phía bộ điều khiển
# Example inventory that makes an alias for localhost that uses Python3 localhost-py3 ansible_host=localhost ansible_connection=local ansible_python_interpreter=/usr/bin/python3 # Example of setting a group of hosts to use Python3 [py3_hosts] ubuntu16 fedora27 [py3_hosts:vars] ansible_python_interpreter=/usr/bin/python3
$ ansible localhost-py3 -m ping $ ansible-playbook sample-playbook.yml Các gói phân phối Linux cá nhân có thể được đóng gói cho Python2 hoặc Python3. Khi chạy từ các gói phân phối, bạn sẽ chỉ có thể sử dụng Ansible với phiên bản Python mà nó đã được cài đặt. Đôi khi các bản phân phối sẽ cung cấp một phương tiện cài đặt cho một số phiên bản Python (thông qua một gói riêng biệt hoặc thông qua một số lệnh được chạy sau khi cài đặt). Bạn cần phải kiểm tra với bản phân phối của mình để xem điều đó có áp dụng trong trường hợp của bạn không. $ ansible localhost -m ping -e 'ansible_python_interpreter=/usr/bin/python3' $ ansible-playbook sample-playbook.yml -e 'ansible_python_interpreter=/usr/bin/python3' Sử dụng Python 3 trên các máy được quản lý với các lệnh và playbooksAnsible sẽ tự động phát hiện và sử dụng Python 3 trên nhiều nền tảng vận chuyển với nó. Để cấu hình rõ ràng trình thông dịch Python 3, hãy đặt biến hàng tồn kho $ source ./hacking/env-setup $ python3 $(which ansible) localhost -m ping $ python3 $(which ansible-playbook) sample-playbook.yml0 ở cấp độ nhóm hoặc máy chủ thành vị trí của trình thông dịch Python 3, chẳng hạn như/usr/bin/python3. Đường dẫn phiên dịch mặc định cũng có thể được đặt trong $ source ./hacking/env-setup $ python3 $(which ansible) localhost -m ping $ python3 $(which ansible-playbook) sample-playbook.yml1. Chạy lệnh hoặc playbook của bạn: Lưu ý rằng bạn cũng có thể sử dụng tùy chọn dòng lệnh -E để đặt thủ công trình thông dịch Python khi bạn chạy lệnh. Điều này có thể hữu ích nếu bạn muốn kiểm tra xem một mô -đun hoặc playbook cụ thể có bất kỳ lỗi nào trong Python 3. Ví dụ:Ansible and Python 3 for information on how we fix common Python3 compatibility issues in the Ansible codebase. Trường hợp sử dụng: Playbook 1
Playbook 2Chúng tôi kết nối với cùng một máy chủ/s một lần nữa, nhưng bây giờ chúng tôi phải sử dụng trình thông dịch $ source ./hacking/env-setup $ python3 $(which ansible) localhost -m ping $ python3 $(which ansible-playbook) sample-playbook.yml3 Python Cách tốt nhất để làm việc này là gì? Hiện tại chúng tôi đặt $ source ./hacking/env-setup $ python3 $(which ansible) localhost -m ping $ python3 $(which ansible-playbook) sample-playbook.yml4 ở cấp độ playbook là $ source ./hacking/env-setup $ python3 $(which ansible) localhost -m ping $ python3 $(which ansible-playbook) sample-playbook.yml5:
Điều này hoạt động, nhưng điều này cũng sẽ thay đổi thông dịch viên Python của các hành động địa phương. Và do đó, các hành động địa phương sẽ thất bại, bởi vì ( $ source ./hacking/env-setup $ python3 $(which ansible) localhost -m ping $ python3 $(which ansible-playbook) sample-playbook.yml6 không tồn tại cục bộ).
Questions::
Hỏi ngày 26 tháng 8 năm 2019 lúc 10:24Aug 26, 2019 at 10:24
1 Bạn nên đặt $ source ./hacking/env-setup $ python3 $(which ansible) localhost -m ping $ python3 $(which ansible-playbook) sample-playbook.yml4 ở cấp độ chủ. Vì vậy, có, có thể đặt rõ ràng trình thông dịch cho localhost trong kho của bạn.
Và tôi cho rằng bạn cũng có thể sử dụng # Example inventory that makes an alias for localhost that uses Python3 localhost-py3 ansible_host=localhost ansible_connection=local ansible_python_interpreter=/usr/bin/python3 # Example of setting a group of hosts to use Python3 [py3_hosts] ubuntu16 fedora27 [py3_hosts:vars] ansible_python_interpreter=/usr/bin/python30 trên # Example inventory that makes an alias for localhost that uses Python3 localhost-py3 ansible_host=localhost ansible_connection=local ansible_python_interpreter=/usr/bin/python3 # Example of setting a group of hosts to use Python3 [py3_hosts] ubuntu16 fedora27 [py3_hosts:vars] ansible_python_interpreter=/usr/bin/python31 trên máy chủ Localhost hoặc Docker của bạn. Có một bài viết rực rỡ về # Example inventory that makes an alias for localhost that uses Python3 localhost-py3 ansible_host=localhost ansible_connection=local ansible_python_interpreter=/usr/bin/python3 # Example of setting a group of hosts to use Python3 [py3_hosts] ubuntu16 fedora27 [py3_hosts:vars] ansible_python_interpreter=/usr/bin/python30 trên # Example inventory that makes an alias for localhost that uses Python3 localhost-py3 ansible_host=localhost ansible_connection=local ansible_python_interpreter=/usr/bin/python3 # Example of setting a group of hosts to use Python3 [py3_hosts] ubuntu16 fedora27 [py3_hosts:vars] ansible_python_interpreter=/usr/bin/python33! ;-P Đã trả lời ngày 26 tháng 8 năm 2019 lúc 11:23Aug 26, 2019 at 11:23
Xenloxenloxenlo 7231 Huy hiệu vàng6 Huy hiệu bạc21 Huy hiệu đồng1 gold badge6 silver badges21 bronze badges 1 Nhờ các câu trả lời hữu ích khác, tôi đã tìm thấy một giải pháp dễ dàng:
Dưới đây là những phần quan trọng khi bắt đầu $ source ./hacking/env-setup $ python3 $(which ansible) localhost -m ping $ python3 $(which ansible-playbook) sample-playbook.yml5:
Đã trả lời ngày 26 tháng 8 năm 2019 lúc 15:40Aug 26, 2019 at 15:40
TmtrontmtronTmTron 14.7K7 Huy hiệu vàng87 Huy hiệu bạc131 Huy hiệu đồng7 gold badges87 silver badges131 bronze badges Cố gắng sử dụng # Example inventory that makes an alias for localhost that uses Python3 localhost-py3 ansible_host=localhost ansible_connection=local ansible_python_interpreter=/usr/bin/python3 # Example of setting a group of hosts to use Python3 [py3_hosts] ubuntu16 fedora27 [py3_hosts:vars] ansible_python_interpreter=/usr/bin/python30 cho $ source ./hacking/env-setup $ python3 $(which ansible) localhost -m ping $ python3 $(which ansible-playbook) sample-playbook.yml4 ở cấp độ chủ trong Playbook đầu tiên. Đã trả lời ngày 26 tháng 8 năm 2019 lúc 10:40Aug 26, 2019 at 10:40
George Shuklingeorge ShuklinGeorge Shuklin 6.2408 Huy hiệu vàng35 Huy hiệu bạc68 Huy hiệu Đồng8 gold badges35 silver badges68 bronze badges 2 Trên toàn cầu, sử dụng khóa $ ansible localhost-py3 -m ping $ ansible-playbook sample-playbook.yml0 trong phần $ ansible localhost-py3 -m ping $ ansible-playbook sample-playbook.yml1 của tệp $ ansible localhost-py3 -m ping $ ansible-playbook sample-playbook.yml2.
Yuri 3.9601 Huy hiệu vàng25 Huy hiệu bạc43 Huy hiệu đồng1 gold badge25 silver badges43 bronze badges Đã trả lời ngày 18 tháng 5 năm 2020 lúc 1:52May 18, 2020 at 1:52
|