Hana ʻana i ka Python a me Bash Friendship: Hoʻokuʻu i nā hale waihona puke python-shell a smart-env v. 1.0.1

Lā maikaʻi kākou a pau!

29 Fepeluali 2020 o ka makahiki Ua hoʻokuʻu ʻia ka micro-release o nā hale waihona puke akamai-env и pūpū-python. No ka poʻe ʻike ʻole, manaʻo wau e heluhelu mua ʻoe pou mua.

I ka pōkole, ʻo nā hoʻololi e pili ana i ka hoʻopau ʻana i ke kauoha, hoʻonui i nā mana no ka holo ʻana i nā kauoha, kekahi refactoring a me nā hoʻoponopono bug.

No nā kikoʻī e ʻoluʻolu e ʻike i ka pōpoki.

He aha ka mea hou ma python-shell?

E hoʻomaka koke wau me ka meaʻai.

Hoʻopau kauoha

ʻAe - he mea maʻalahi ke koi ʻia ka mea hoʻoponopono/IDE/terminal iā ʻoe no ka inoa o ke kauoha, a i kekahi manawa ʻo nā ʻāpana kelepona? No laila ke holomua nei ka python-shell i ka hāʻawi ʻana i nā hana like. Ma muli o ka ʻoiaʻiʻo ʻo nā māla o ka papa Shell ma lalo o ka puʻupuʻu he de-facto ʻaʻole kāna mau māla (ka __getattr__ ubiquitous), ua hana ʻia ka autocompletion mai ka wā ʻōpala (ma ka hoʻonui ʻana i ke ʻano __dir__, kēlā me kēia). Ke hana nei ʻo Autocompletion i kēia manawa ma BPython a me IPython. ʻOiaʻiʻo, makemake wau e ʻike i ka hoʻohui ʻana me nā huahana hanohano e like me PyCharm, a ke aʻo ʻia nei nā mea hiki ke hoʻokō ʻia ma kēia kuhikuhi.

Hoʻohui i nā waiwai

Ma ke ʻano o ka hoʻokuʻu ʻana, ua loaʻa i ka papa Shell kahi waiwai last_command hou. Ua ala mai ka pono no ka mea, i ka wā i hoʻolei ʻia ai kahi ShellException e kahi kauoha me ka helu helu hoʻihoʻi ʻole, ʻaʻole i hoʻihoʻi ʻia ka mea Kauoha mai ka __call__() kelepona i ka mea kauoha. I kēia manawa aia kahi manawa e hana ai i kēia:

try:
    command = Shell.touch('/foo.txt')
except ShellException:
    command = Shell.last_command

Ua hoʻonui pū ʻia ka papa inoa o nā waiwai o ka mea kauoha. Hoʻohui ʻia kahi kahua hewa e hoʻihoʻi i ka hoʻopuka kauoha i ke kahawai hewa.

Ke holo nei i nā kauoha me nā inoa Python hewa ʻole

ʻAneʻane loaʻa i kēlā me kēia ʻōnaehana ma ka liʻiliʻi hoʻokahi papahana i kūpono ʻole kona inoa ma ke ʻano he mea hōʻike ma Python (no ka laʻana, ka pono 2to3 kaulana). Kāhea iā ia me

Shell.2to3()

Inā ʻaʻole hana, ʻaʻole e hoʻokuʻu ka unuhi ʻōlelo.
ʻO ka hoʻonā ke kāhea ʻana i ke kauoha ma ke ʻano pōʻai:

Shell("2to3")  # возвращает объект команды

He mea pono e hoʻomaopopo ma ke ala like e hiki ai iā ʻoe ke holo i nā kauoha i kūpono mai ka manaʻo o ka unuhi ʻōlelo, e waiho ana i ka manawa e hana ai i nā palapala maʻalahi e like me

cmd = "python{}".format(sys.version_info[0])
Shell(cmd)(*args, **kwargs)

Hoʻololi iki

  • Ua hoʻokō ʻia nā ʻano __repr__() a me __str__() o ka mea papa kauoha, i kēia manawa e hana i nā waiwai intuitive (kahi kauoha me nā ʻāpana a me kāna stdout output, kēlā me kēia).
  • Hoʻoponopono code liʻiliʻi.
  • Hoʻohui i ka uhi hoʻāʻo, a me ka hoʻonohonoho hou ʻana i nā mea i loaʻa.
  • Hoʻohui i nā papa Subprocess a me Process, ʻo ia ke kumu o ka hana ʻana i kahi pae hou o ka abstraction i ka wā e hana ai me ka module subprocess. Pono ka hapa nui e hoʻopau i ke kope kope ʻana i ka wā e hana ana me Python 2/3, akā hiki ke hāʻawi i nā bonus ʻē aʻe.

He aha ka mea hou ma smart-env?

ʻAʻole like me ka python-shell, ua liʻiliʻi nā loli i ka waihona smart-env. He mea maʻalahi ke kumu - nele i ka manawa kaʻawale, kahi i hoʻoneʻe ʻia ai kekahi mau mea hoʻomaikaʻi (e like me ka autocompletion o nā ʻano hoʻololi kaiapuni) i ka hoʻokuʻu hou.

ʻO ka ʻoiaʻiʻo, ua hoʻololi ʻia kēia mau mea i ka waihona:

  • Hoʻoponopono code liʻiliʻi.
  • Hana hou.
  • Hoʻonohonoho hou a hoʻomaʻemaʻe i nā hoʻokolohua e kū nei.

Nā hoʻolālā no nā hoʻopuka e hiki mai ana

hale waihona puke python-shell

  • Hoʻohui i ke kākoʻo no nā kelepona kauoha ʻole (parallelization of execution).

hale waihona puke akamai-env

  • Ka hoʻokō ʻana i ka autocompletion o nā ʻano hoʻololi kaiapuni i ka papa ENV.
  • Kākoʻo no ka mea hoʻohana e nānā i ke ʻano o kahi hoʻololi env.
  • Hoʻokō i ke kākoʻo no nā hana str () a me repr () no ka papa ENV.

E hoʻolaha hou ʻia nā lā o nā hoʻokuʻu e hiki mai ana ma nā ala kamaʻilio aʻe:

Source: www.habr.com

Pākuʻi i ka manaʻo hoʻopuka