Utwórz skrypt Pythona, który instalowania modułów Pythona i uruchomić kilka poleceń

głosy
-1

Chcę utworzyć cienką otoki wokół tej biblioteki https://github.com/jupyter-incubator/sparkmagic#installation

Jak widać w linku, etap wymaga instalacji

  1. instalacji niektórych pakietów z pip
  2. wykonać jakieś polecenia typu jupyter enable ...lubjupyter-kernelspec install
  3. niestandardowy plik konfiguracyjny, że chcę, aby wygenerować i umieścić w odpowiednim miejscu

Jestem sprawdzenie, jakie opcje mam zrobić jak automatyczna instalacja jako wywołanie skryptu. Do tej pory pojawił się tworząc skrypt bash z tych wszystkich poleceń. W ten sposób to działa z prostym install.sh, ale mogę mieć problemy, ponieważ nie będą wiedzieć, które pyton binarne użyć. Jeśli użytkownik chce zainstalować lib dla python2 lub python3 nie może mieć takiego wyboru, chyba że dotyka skrypt.

I następnie próbował użyć setup.pyi zastąpić cmdclasswstawić kod niestandardowy

from setuptools import setup
from setuptools.command.develop import develop
from setuptools.command.install import install


class PostDevelopCommand(develop):
  Post-installation for development mode.
  def run(self):
    develop.run(self)
    print(do things)

class PostInstallCommand(install):
  Post-installation for installation mode.
  def run(self):
    install.run(self)
    print(do things)

setup(
  ...
  install_requires=['sparkmagic'],
  cmdclass={
    'develop': PostDevelopCommand,
    'install': PostInstallCommand,
},

...
)

ale wydruki niestandardowe pracował tylko podczas pracy python setup.py install, ale nie dlapip install

Chciałbym, aby to ostatnie dzieło opcji, ale jeśli nie jest to prawo tupot do tego rodzaju rzeczy, można zasugerować mi którędy iść?

Utwórz 10/10/2019 o 00:40
źródło użytkownik
W innych językach...                            


1 odpowiedzi

głosy
0

Problem nie jest z pip installbezpośrednio, ale z kołami . Projekty pakowane jako koła nie może mieć instalacja niestandardowa kroki. Patrz na przykład tej dyskusji . Od pip preferuje pracę z kołami, budując je lokalnie, jeśli to konieczne, niestandardowe kroki nie działają w czasie instalacji. Prawdopodobnie istnieją sposoby, aby zapobiec krok koła chociaż.

Wiedząc o tym, że prawdopodobnie należy postępować zgodnie z zaleceniami z Janem Vlcinsky w swoim komentarzu na jego odpowiedź na to pytanie: po instalacji skryptu po zainstalowaniu koło .

  • Dodaj setuptools konsoli punkt wejścia do projektu (nazwijmy go myprojectconfigure). Może wolisz Używanie distutils script wyposażone zamiast.

  • Polecić użytkownikom pakietu, aby go uruchomić natychmiast po zainstalowaniu pakietu ( pip install myproject && myprojectconfigure).

  • W końcu myśleć o zapewnienie myprojectconfigure --uninstalljak również.

Odpowiedział 10/10/2019 o 14:56
źródło użytkownik

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more