Compose: рдХреЗрд╡рд▓ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдлрд╝рд╛рдЗрд▓ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдорд╛рдЙрдВрдЯ рдХрд░реЗрдВ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 24 рдЬреБрд▓ре░ 2014  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: docker/compose

рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдВрднрд╡ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рд╕реЛрдЪ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдХреНрдпрд╛ рдХреЗрд╡рд▓ *.py рдлрд╛рдЗрд▓реЛрдВ рдХреЛ volumes рдХреЗ fig.yml рднрд╛рдЧ рдХреЗ рд╕рд╛рде рдорд╛рдЙрдВрдЯ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛ред

рдореИрдВ рдЙрд╕ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЛ рдорд╛рдЙрдВрдЯ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдЬрд┐рд╕рдореЗрдВ рдЗрд╕рдореЗрдВ рдПрдХ рдкрд╛рдпрдерди рдкреИрдХреЗрдЬ рд╣реИред рдореЗрд░рд╛ рдбреЙрдХрдлрд╛рдЗрд▓ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:

FROM python:3

ADD . /code/
WORKDIR /code
RUN pip install -r requirements-testing.txt -e .

ENV LC_ALL C.UTF-8
ENV LANG C.UTF-8

рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЬрдм рдореЗрд░реЗ рдкрд╛рд╕ fig.yml рдЗрд╕ рддрд░рд╣ рд╣реИ:

python:
  build: .
  volumes:
    - .:/code/

рдФрд░ рдлрд┐рд░ рдореЗрд░реЗ рдкрд╛рдпрдерди рдРрдк рдХреЗ рд╕рд╛рде рд╕реНрдерд╛рдкрд┐рдд рд╕реАрдПрд▓рдЖрдИ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ, рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ pip install -e . /code/ рддрд╣рдд рдирд┐рд░реНрдорд┐рдд рдкрд╛рдпрдерди рдкреИрдХреЗрдЬ рдХреЗ рд╕рд╛рде рдХреБрдЫ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдмрдирд╛рддрд╛ рд╣реИред рдлрд┐рд░ рдЬрдм рдореИрдВ рдЙрд╕ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдкрд░ рдЕрдкрдиреА рд╕реНрдерд╛рдиреАрдп рд╕реНрд░реЛрдд рдХреЛрдб рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдорд╛рдЙрдВрдЯ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдпрд╣ рдЙрди рдмрд┐рд▓реНрдб рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЛ рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реИ рдФрд░ рдЖрджреЗрд╢ рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

$ fig run python dc-campaign-finance-scraper
Traceback (most recent call last):
  File "/usr/local/bin/dc-campaign-finance-scraper", line 5, in <module>
    from pkg_resources import load_entry_point
  File "/usr/local/lib/python3.4/site-packages/pkg_resources.py", line 2697, in <module>
    working_set.require(__requires__)
  File "/usr/local/lib/python3.4/site-packages/pkg_resources.py", line 669, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/usr/local/lib/python3.4/site-packages/pkg_resources.py", line 572, in resolve
    raise DistributionNotFound(req)
pkg_resources.DistributionNotFound: dc-campaign-finance-scraper==0.5.1

рддреЛ рдЕрдЧрд░ рдореИрдВ рдХреЗрд╡рд▓ .py рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдорд╛рдЙрдВрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ, рддреЛ рдпрд╣ рдЕрдиреНрдп рд╕рднреА рдЪреАрдЬреЛрдВ рдХреЛ рдЕрдзрд┐рд▓реЗрдЦрд┐рдд рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рджреВрд░ рд╕реЗ рд╕рдВрднрд╡ рд╣реИ, рдФрд░ рдпрджрд┐ рдирд╣реАрдВ, рддреЛ рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЕрдЬрдЧрд░ рдкреИрдХреЗрдЬ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рдЕрдВрдЬреАрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╕реБрдЭрд╛рд╡ рд╣реИ/

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдореБрдЭреЗ рдЬреЛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╕рдорд╛рдзрд╛рди рдорд┐рд▓рд╛, рд╡рд╣ рдХреЗрд╡рд▓ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХреЛрдб рдФрд░ рдкрд░реАрдХреНрд╖рдг рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдХреЛ рдмрдврд╝рд╛рдирд╛ рдерд╛, рдФрд░ рдЕрдиреНрдп рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдЕрдЫреВрддрд╛ рдЫреЛрдбрд╝рдирд╛ рдерд╛ред

рдЗрд╕ рддрд░рд╣ рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдХреЗ рдмрд┐рдирд╛ рдЕрджреНрдпрддрди рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рд▓реЗрдХрд┐рди рдпрд╣ рд╕рдВрдХрд▓рд┐рдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЕрдзрд┐рд▓реЗрдЦрд┐рдд рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред

python:
  build: .
  volumes:
    - dc_campaign_finance_scraper:/code/dc_campaign_finance_scraper
    - test:/code/test

рд╕рднреА 3 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдбреЙрдХрд░ рд╡реЙрд▓реНрдпреВрдо рдХреЗ рд╕рд╛рде рдпрд╣ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИ, рдореБрдЭреЗ рдбрд░ рд╣реИред

рдХреНрдпрд╛ pip install рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ /code рдмрд╛рд╣рд░ рдПрдХ рдЕрд▓рдЧ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд░рдЦрдирд╛ рд╕рдВрднрд╡ рд╣реИ, рдФрд░ рд╡рд╣рд╛рдВ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╛рдпрдерди рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ? рдкрд┐рдк рдбреЙрдХреНрд╕ рдкрд░ рдирдЬрд╝рд░ --root рдпрд╛ --target рдЪрд╛рд▓ рдЪрд▓ рд╕рдХрддрд╛ рд╣реИред

рдореБрдЭреЗ рдЬреЛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╕рдорд╛рдзрд╛рди рдорд┐рд▓рд╛, рд╡рд╣ рдХреЗрд╡рд▓ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХреЛрдб рдФрд░ рдкрд░реАрдХреНрд╖рдг рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдХреЛ рдмрдврд╝рд╛рдирд╛ рдерд╛, рдФрд░ рдЕрдиреНрдп рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдЕрдЫреВрддрд╛ рдЫреЛрдбрд╝рдирд╛ рдерд╛ред

рдЗрд╕ рддрд░рд╣ рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдХреЗ рдмрд┐рдирд╛ рдЕрджреНрдпрддрди рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рд▓реЗрдХрд┐рди рдпрд╣ рд╕рдВрдХрд▓рд┐рдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЕрдзрд┐рд▓реЗрдЦрд┐рдд рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред

python:
  build: .
  volumes:
    - dc_campaign_finance_scraper:/code/dc_campaign_finance_scraper
    - test:/code/test

рдпрд╣ рдореБрдЭреЗ рдШрдВрдЯреЛрдВ рддрдХ рдкрд╛рдЧрд▓ рдХрд░ рд░рд╣рд╛ рдерд╛, рдзрдиреНрдпрд╡рд╛рдж @saulshanabrook

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

komuw picture komuw  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

bperel picture bperel  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

davidbarratt picture davidbarratt  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

squeaky-pl picture squeaky-pl  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

Hendrik-H picture Hendrik-H  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ