question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

[runtime env] pip-based runtime env refactor

See original GitHub issue

Search before asking

  • I had searched in the issues and found no similar feature requirement.

Description

Work Items

  1. Introduce Virtualenv, detail:
  2. Use coroutine in runtime env agent, detail: #21950
  3. Introduce DownloadManager, detail:
    • limit download peak.
    • singletons, manager all download tasks
  4. Use coroutine to setup py_modules and working_dir, so that they can be executed in parallel with virtualenv creation.
  5. Support change pip version
  6. Install conda and pip in container
  7. Optimize pip install $HTTP_URL, detail:
    • we download package from $HTTP_URL
    • and pip install /path/to/this/package
  8. Support cached Virtualenv

Use case

No response

Related issues

No response

Are you willing to submit a PR?

  • Yes I am willing to submit a PR!

Issue Analytics

  • State:open
  • Created 2 years ago
  • Comments:19 (19 by maintainers)

github_iconTop GitHub Comments

3reactions
edoakescommented, Mar 9, 2022

@SongGuyang @Catch-Bull actually, to make this even less intrusive, what if we put these options nested inside of the runtime_env field? That would prevent us from needing to update schemas all over the place to support it. For example:

@ray.remote(runtime_env=RuntimeEnv(..., config=RuntimeEnvConfig(setup_timeout_s=10))
def f(): pass

@ray.remote(runtime_env={..., "config": {"setup_timeout_s": 10}})
def f(): pass

I would be happy to go forward with this proposal, it is the least intrusive I can think of (I don’t think most users will ever think about these advanced options).

1reaction
architkulkarnicommented, Mar 7, 2022

I agree that we should have pip_check, pip_version and setup_runtime_env_timeout_seconds per runtime-env rather than cluster env, for the reason you mentioned. The timeout_seconds especially makes sense as a runtime_env option because certain environments are much slower to install than others.

Since the timeout shouldn’t be part of the hash like you said, I think the second interface you proposed makes more sense, but I don’t have a strong opinion about it.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Handling runtime environment variables in create-react-apps
A new package called runtime-env-cra allows you to handle environment variables in quick and easy way with create-react-apps.
Read more >
Runtime environments in AWS Mainframe Modernization
A runtime environment in AWS Mainframe Modernization is a named combination of AWS compute resources, a runtime engine, and configuration details created to ......
Read more >
salt - Salt Documentation - Ubuntu Manpage
Setup the Python Environment Navigate to the pkg\windows directory and execute the ... It has support for IPv4/6 settings and the separation of...
Read more >
How to Use SQL Server's Rating Functions - Morioh
... process will automatically try to cythonize Falcon for your environment, ... NET Common Language Runtime (CLR). ... FAQ About Refactoring Python.
Read more >
Refactoring for Better Environment Configuration in Python 3
I was letting the runtime environment of the script dictate both; grouping them together as if it was all configuration.
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found