-
Notifications
You must be signed in to change notification settings - Fork 906
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update how to use Kedro install/new? #753
Comments
I'm not sure I follow the problem here. Can you help me understand why it's important to know the version out front here? I would assume at the very beginning of a project the user would just pick the most-recently released version, rather than go back in time. * starting version 0.17.0 - indeed between 0.16.3 and that, |
Took a look at |
The issue is that I need to have a globally installed kedro to run I cannot control what kedro is installed globally on everyone's machine. For someone who has used kedro previously their globally installed version is likely not the latest. So two people running the same kedro new command may get different results without understanding why if they are not following kedro closely. I think pipx would be one solution to provide consistency across different users with these global commands. I do not think that install currently works, as it seemed to install into the pipx sandbox rather than the venv I wanted. With pipx you can guarantee that a user either uses the latest or a specific version rather than being based on the last time the user installed kedro. Here are a few snippets from the pipx readmeHow is it Different from pip?pip is a general-purpose package installer for both libraries and apps with no environment isolation. pipx is made specifically for application installation, as it adds isolation yet still makes the apps available in your shell: pipx creates an isolated environment for each application and its associated packages. Walkthrough: Running an Application in a Temporary Virtual EnvironmentThis is an alternative to
This can be handy when you need to run the latest version of an app, but don't necessarily want it installed on your computer. You may want to do this when you are initializing a new project and want to set up the right directory structure, when you want to view the help text of an application, or if you simply want to run an app in a one-off case and leave your system untouched afterwards. For example, the blog post How to set up a perfect Python project uses A nice side benefit is that you don't have to remember to upgrade the app since |
What are your thoughts on converting the |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
Hi @WaylonWalker I don't think we're going to migrate to |
Introduction
It would be nice to see some consistent usage of global commands such as
kedro new
across different machines regardless of the version installed. Some kedro commands need to run before having an environment setup and can lead to users installing kedro globally as mentioned in #681.Problem
Different versions of kedro are quite drastically different.
kedro new
creates a different template that likely will not run on different versions so it is very important to pick the right version from the start. Something as simple as a user trying kedro 6 months ago and having an old version installed on their machine could throw them off and make the experience very frustrating.What's in scope
Global kedro commands that need ran before having a projects environment fully setup and need a specific kedro version.
kedro new
kedro install
What's not in scope
Project commands that are used from within a virtual environment after the user is already fully setup and working.
Design
document using pipx for kedro new
pipx can create reproducible results of
kedro new
regardless of the version that is currently in the user's path. If this was documented in the docs and in the projects readme it would help prevent users from ending up with a globally installed kedro, or starting a project from the wrong version.Alternatives considered
Using pipx seems to be the simplest way to have different versions of kedro in the global scope to run
install
andnew
commandsTesting
I opened a new replit.com instance and ran the following commands with success.
Since pipx runs inside a sandbox it does not appear to be a good solution for install.
The text was updated successfully, but these errors were encountered: