How do I activate python virtual environment from a different repo? - python

So am working in a group project, we are using python and of the code is on GitHub. My question is how do I activate the virtual environment? Do I make one on my own using the "python virtual -m venv env" or the one that's on the repo, if there is such a thing. Thanks

virtual env is used to make your original env clean. you can pip install virtualenv and then create a virtual env like virtualenv /path/to/folder then use source /path/to/folder/bin/activate to activate the env. then you can do pip install -r requirements.txt to install dependencies into the env. then everything will be installed into /path/to/folder/lib
alteratively, you can use /path/to/folder/bin/pip install or /path/to/folder/bin/python without activating the env.

Yes, you'll want to create your own with something like: python -m venv venv. The final argument specifies where your environment will live; you could put it anywhere you like. I often have a venv folder in Python projects, and just .gitignore it.
After you have the environment, you can activate it. On Linux: source venv/bin/activate. Once activated, any packages you install will go into it; you can run pip install -r requirements.txt for instance.

Related

Already have a python project can I set up a virtual environment?

I already started a python project and I found out about using virtual environments and how it is a good practice. I installed virtualenv and created a new environment. But, my existing project is still running on the default python i.e with global modules and everything. How do you get the project files to run on the virtual environment? I am using VS Code and python 3.10.1
you will have to activate the virtual env and then reinstall all the required packages in the virtual env
You can activate your virtual environment by saying;
source venv/bin/activate
then pip the required packages for your project
pip install package_name
You can see all the packages you have installed with pip freeze
To keep the modules and versions you have installed in a file called requirements.txt;
pip freeze > requirements.txt
You can now install these packages to the environment and project you want with a single command. pip install -r requirements.txt

I can't do anything with pipenv

ERROR:: --system is intended to be used for pre-existing Pipfile installation, not installation of specific packages. Aborting.
I can't use pipenv in Ubuntu18.04.
How can I fix it?
This is an open issue in the Pipenv repository: https://github.com/pypa/pipenv/issues/5052.
From the discussion in the thread, it seems to pop up when there is an existing virtualenv that was created with the same directory path. The solution mentioned in the thread is to simply remove this virtualenv which fixes the issue.
You can use the python virtual environment,
python -m venv venv # Creates virtual environment
To activate virtual environment do source venv/bin/activate
Then you can install your packages using pip install lib
To deactivate virtual environment type deactivate

Pip installs packages in pyenv root even when virtual environment is activated

I try to install a package with pip in a virtual environement previously created with venv. The Python version is managed through pyenv. I don't want to use pyenv to create the virtual environment.
The project is set up this way. To the project empty directory, I added a .python-version containing the version 3.8.2. Then I created my virtual environement using python -m venv .venv. Then I activated the environement using source .venv/bin/activate. Now the command line starts with a (.env). However, when I try to install some package with pip install some-package, the package ends up in {pyen_home}/versions/3.8.2/lib/python3.8/site-packages, instead of the virtual environment.
What's irritating is that I'm almost certain that I did manage to install package in the virtual environment that way before, but not anymore, so I don't see what I'm missing.
Content of your .python-version should be .venv.
As far as I know you should not create this file by yourself. It generated when you run pyenv local .venv. And venv activates automatically.
Also proper way to create virtual environment is pyenv virtualenv {python-version} {venv-name}. Read the docs carefully.

cant install requirment python package in virtual environment in another machine

I have created a requirement file from a virtual environment in my laptop machine,
when i want to use it and install package in another machine in create virtual environment , I give an error about cant have a such directory file(in general)
how can i solve this error in general environment(use different version in different environment?
On your second machine (Where you want to install requirements.txt)
Install virtual environment package using this command:
pip install virtualenv
Create a virtual environment:
virtualenv venv
Note: The above command will create virtual environment in your current directory with folder named "venv" (You can use any name).
Activate your virtual environment:
Linux/Mac: source venv/bin/activate
Windows: venv\bin\activate
Install requirements.txt
pip install -r /path/to/requirements.txt

install packages in Python2 with Python3

I am trying to install numpy, nltk, etc packages for Python 2 to run a code. But I have Python3 as well and the path variable is set to it. When I try to use any pip install command it shows the package is available in Python3's directory.
Also, I am using VSCode, so I did not add the path variable.
I suggest you use virtual environments. Because if you read about virtual environments, you will find that they are created for such cases.
To create virtual environments, you must do the following:
Make a note of the full file path to the custom version of Python you just installed.
virtualenv -p /home/username/opt/python-2.7.15/bin/python venv
In order to use this environment’s packages/resources in isolation, you need to “activate” it. To do this, just run the following:
source venv/bin/activate (Linux)
./venv/Scripts/activate.bat (Windows)
Notice how your prompt is now prefixed with the name of your environment (venv, in our case). This is the indicator that venv is currently active, which means the python executable will only use this environment’s packages and settings.
Now run the following:
(venv) $ which python
/Users/ashkan/python-virtual-environments/venv/bin/python (in my case)
now you have access to python2.7.
The best practice for this particular problem would be virtual environments.And for that matter Pipenv would be a good option.
Install Pipenv.
$ brew install pipenv (MacOs)
$ sudo apt install pipenv (Debian)
$ sudo dnf install pipenv (Fedora)
pip install pipenv (Windows)
Creating virtual env with Pipenv.
pipenv install --python 2.7 numpy
This command will install create a virtual environment and install python 2.7(which will be used as the main interpreter once you activate the environment) along with numpy in that environment. This will avoid the packages version conflicts too.
To activate the environment
pipenv shell
If you are working in the Vs Code workspace then you should set the interpreter path(python path) to the path of the virtual environment.
when we install anything using pip. it will install dependencies for default python version. so you can change the default python version using this link https://linuxconfig.org/how-to-change-from-default-to-alternative-python-version-on-debian-linux
Hope this will solve your problem
After crating a virtual environment with python 2.7 you can install your required packages

Categories