venv does not work properly, or am I missing something? - python

So I wanted to start to experiment with pythons virtual environments and got a problem from the beginning.
When trying to activate an environment nothing seems to happen. This is what a tutorial tells me to do:
venv\Scripts\activate
This command is for Windows.
Your shell prompt will change to show the name of the activated environment.
When running this command in my command promt, nothing happens. (I have created an venv before trying to activate it)
Does anybody know what I am doing wrong? Is this command only working on Windows 10? (Ive got Windows 7)
The tutorial I wanted to check out was this one
Flask Tutorial

So I basically tried all for me thinkable possibilities and this is what worked out for me:
. venv/Scripts/activate
So if you are using a bash console in visual studio basic you should give it a try.
Unfortunately I have no idea why this should or shouldn't work.

you need to source the activate file.
either:
source venv/Scripts/activate
or
. source venv/Scripts/activate

Related

Error on visual studio code: Python was not found; run without arguments to install from the Microsoft Store [duplicate]

I was trying to download a GUI, but the terminal kept giving me this error:
Python was not found; run without arguments to install from the Microsoft Store, or disable this shortcut from Settings > Manage App Execution Aliases.
I'm trying to install it using this command:
python -m pip install --upgrade pip setuptools virtualenv
Check your Python version and be sure it is installed on your machine
Check the path environment variable
Go to -> "start" and type "Manage App Execution Aliases". Go to it and turn off "Python"
I was having the same issue and I fixed it by using the below method.
Copy two paths of Python
C:\Users\Maninder\AppData\Local\Programs\Python\Python39
C:\Users\Maninder\AppData\Local\Programs\Python\Python39\Scripts
These are the paths where your Python interpreter is installed. Now add this path into your environmental
variable. Put this path into System variable, not in user variable. I was using user variable, so I was facing the issue.
I have a solution for you. Make sure you check the path mark during installation. Then you need to go to Manage App Execution Aliases.
Simply go to your search bar and search for Manage App Execution Aliases. You will find the attached screen and you need to turn off App Installers as you see on the screen. Also, see the path,,, follow Maninder's answer.
Then you are good to go! :)
I had the same issue. In Windows CMD, only: py --version, works.
I tried adding the path on System variables, and it didn't work. If you are using PyCharm as I do, try to run all commands from the IDE's terminal. It usually is on the side bar where the Run and the Console is. If it is not, go to: menu View → Tool Windows → Terminal. It worked just fine for me.
You need to download Python from https://python.org. When in the installation, be sure to check the option that adds Python to PATH.
I haven't gotten this error before and have been using Python a long time, and then suddenly it showed up. I think that it is a result of a Windows update designed to steer you to their store.
In any case: to remedy the problem, go to Settings → app execution aliases → and turn "off" Python. (What they tell you to do, in other words). This should resolve the problem.
If you have installed Python successfully with add python path, ticked on, and have added
C:\Users\<user>\AppData\Local\Programs\Python\Python39
C:\Users\<user>\AppData\Local\Programs\Python\Python39\Scripts
to the path into System variables and have turned off the "aliases" and they all didn't work, you can simply use python instead of python3 in your cmd command.
Check the Aliases for App Execution in Windows. Search for Alias App in your Windows toolbar to find the UI for this. Try turning off anything Python related.
Try adding the following to your "Path" environment variable:
C:\Users\Default\AppData\Local\Programs\Python\Python37
C:\Users\Default\AppData\Local\Programs\Python\Python37\Scripts
Replace Python37 with your own version.
I solved this problem for Visual Studio Code with just writing "python" in the console:
python
After that, Microsoft Store opens automatically with the Python app:
And I just click Get.
And it all work!
All the previous answers are correct, but in my case, I was getting this, because I was not passing the version...
The fix is passing the version:
py.exe -3 your_program
If you're on Windows, you may want to use the Python installer, in Windows Marketplace.
I faced the same error while using Anaconda and trying to link the Python executable path in the command prompt.
It got rectified by going to Settings → App execution aliases → and turning "off" Python. Then again I had to set the path for Python in Anaconda and was successful in executing "python --version" command.
The same thing happened to me even after trying all the above-mentioned steps.
I just restart my system and it was working fine. Do it and if still doesn't fix the issue then make sure you have checked "add python ( any version ) to PATH" before installing Python.
If none of the previous answers are working, you can check if you have the Python executable in your program files.
Go to C:\Program Files and check if you have the Python application. If not, go to the python download website here and download the .exe file.
While installing you must select "Custom install" and select the location as C:/Program Files.
Install it and it should work now from anywhere. This worked for me!
To sincerely resolve this issue, do the following:
Uninstall the Python instance and reinstall it. Note: Make sure you check
"Add variable PATH".
On the command line, type:
python -m pip install --upgrade pip setuptools virtualenv
I got this issue when I used Visual Studio Code as the IDE, and Anaconda as my Python compiler. And you don't need to close the "app alias" in settings, but copy your python.exe to python3.exe in your Anaconda folder.
That happened to me. So, to fix it, you have to follow the following steps:
Uninstall the Python version you already installed.
Go ahead and open the installation file to reinstall it again.
Before hitting Install Now, make sure to tick the box in front of Add Python to path.
Go ahead and complete the installation procedure as usual.
Steps for installing Python
The problem is more subtle than it seems.
For example, if you are using Visual Studio Code on the bottom left, you should see Python X.X.X xx-bit (the X is the version).
If you click in there you will see where the IDE is getting the python.exe from.
Locate that folder into your file explorer and then just follow the answer that is saying to change the environments variables.
So copy the path where python.exe is and add it to the Path variable and do the same where the Script folder is (it is in the same directory where the python.exe is).
Then of course make sure your IDE is using the right Python.
None of the answers here worked for me. I did this and the error went away.
For Windows 11 which I was using, I reran the python-3.10.5-amd64.exe file from my downloads directory and then chose to modify the installation.
Then I followed these easy steps.
Make sure the PIP component is checked before proceeding to install.
Then check 'Add Python to environment variables' if it's not checked already.
Proceed to Install.
At this point, your error will be solved
If you already have the Python executable on your machine and you are getting this error in Windows 10, search for the Python executable and copy its path then copy the path in system variables. It worked for me.
to check in windows
py --version
or restart your pc first then put htis command again

Run Anaconda script in Windows from C++/Qt program

Okay, weird thing. This works perfectly fine in Linux, but I cannot get it to work in Windows. Problem might be that I'm not working in Windows a lot these days...
I've got a Python script that I want to run from a C++/Qt program. So I installed Anaconda and within the "Anaconda Prompt" I installed the package containing the script via pip. I've got the full path to the Python script (defined as an entry_point in the packages's setup.py, so it's actually an exe file) and try to start it like this:
proc = new QProcess(this);
connect(proc, &QProcess::readyReadStandardError, this, &MainWindow::receivedText);
connect(proc, &QProcess::readyReadStandardOutput, this, &MainWindow::receivedText);
proc->start(python_script, arguments);
Where python_script and arguments are the full path to the python script and its arguments. When I run this from the "Anaconda Prompt", it works fine, but from my Qt program I get a "NumPy not installed" error, although it's definitely installed. Could it be that I have to run "conda activate" somehow first? Sorry, I'm not really familiar with Anaconda, only using it in Windows... How would I do that?
Thanks!
can you open a dos prompt shell from your code? If so, you can get anaconda to start within that shell and then run your conda activate commands, etc.
Try this command to see if this is an option, you may need to change the paths from miniconda3 depending on what anaconda app you are using:
%windir%\System32\cmd.exe "/K" C:\Users\user\miniconda3\Scripts\activate.bat C:\Users\user\miniconda3
Found a method that works: instead of calling the script directly as "script.exe arguments", I can run it through the Python interpreter as "python.exe script.exe arguments", which seems to work nicely.
I keep having the same issue when I switch servers, so posting a solution which always works for me:
conda install -c conda-forge implicit

Virtual Environment's Activate Does Nothing

So, I switched to my new laptop and tried to install VirtualEnv on the latest version of Python. Even though it is successfully installed, when I create a new virtual environment and try to activate it, it switches to a new line as nothing has happened. I checked the folder, I'm entering the right path, it's not in "bin" folder. I'm not sure what's causing the problem. I have to note that I'm on Windows and I'm not using PowerShell. any ideas?
P.S. Please note that I know that it must show the VirtualEnv's name in parenthesis but unfortunately, it doesn't.
I had this issue earlier today. What solved it for me was running the \scripts\activate.ps1 command in Powershell as Admin
1)Run Powershell as Administrator
2) Run the following command in powershell: Set-ExecutionPolicy Unrestricted
3) Rerun the activation command: > venv\Scripts\activate.ps1

Activated Virtualenv in commands but the bracket is not showing in the directory [Python]

I am trying to learn django.
In VS code, I have installed pip and virtualenv.
I created a env folder by using virtualenv command.
$ virtualenv env
To activate virtual environment, I ran the command below.
$ source env/bin/activate
The result I was expecting to see was I see the little brackets in front of directory address as below:
dhkang#dhkang-Lenovo-IdeaPad-S145-15API ~/fastcampus/django
% (env)
However, I do not see any brackets to indicate that the virtual environment is being activated.
dhkang#dhkang-Lenovo-IdeaPad-S145-15API ~/fastcampus/django
% source env/bin/activate
However, I do not see (env) here. I don't know if the virtual environment is activated or not.
Does anyone know how to resolve to show the brackets when virtual environment is activated?
Ok if you are using builtin zsh in vscode, After you activated the virtualenv you should delete the terminal and start new one using the view tab...
Delete terniaml using icon in right top of the terminal. (Use the trash icon)
Start new terminal..
View > Terminal
Now, I resolved my issue.
It was one of zsh settings that I could never imagine as I am fairly new to Linux.
What I did was trying out other shell types like bash. I tried bash as default terminal and the bracket indicating it's on virtual environment was showing.
In the end, I have installed oh-my-zsh and changed the theme 'agnoster'. Now, anywhere in terminal or VScode clearly show the brackets. With regards to oh-my-zsh, refer to the link https://github.com/ohmyzsh/ohmyzsh

Why is Anaconda source activate non-existent?

I successfully created two separate Python environments in Anaconda, yet seem to be unable to activate either one of them. I have tried to read up on this topic as much as possible here on Stackoverflow, yet no solution did resolve my issue. I added information asked for by comments in this question (Anaconda Environment Doesnt activate).
When trying to activate an environment, the console output is -bash: activate: No such file or directory.
The output of which conda is /Users/username/anaconda3/bin/conda.
The output of type source is source is a shell builtin.
When trying which activate, the shell returns nothing.
In my bin folder, I also seem not to have an activate executable, but only one which is called activate-global-python-argcomplete.
Why do I lack the standard activate file and how I could resolve this issue best?
I experience a similar problem. In my case, the problem is related to the use of the tcsh, but activate only supports bash and zsh.
You can check your current used shell with the command
echo $0.
You have to use a compatible shell in order to use the source activate command.
I think you happened to install a buggy version of anaconda which was quickly patched.
conda update conda
should get you back up and running.
Start a new terminal and try again. Alternatively, type hash -r and see if it helps.
Do not do this!!!, this broke my dnf
First I tried to point source to a activate file,
source /usr/lib64/python3.6/venv/scripts/common/activate environment
That appeared to work, but no actual values got updated. I tried the answer by mattexx, but it complained conda wasn't installed, so I used.
conda install conda
I had to have root permission since it was being installed to the root environment, but after that everything appears to work.
That is what broke my fedora installation
tcsh was the problem for me. Changed to bash and all is ok.
In this case, the problem might be that the virtual environment was created in /Users/username/anaconda3/envs/ and hence the activate will be in:
/Users/username/anaconda3/envs/NAME_OF_YOUR_VIRTUAL_ENV/bin/activate
Hence to activate the environment you could run:
source /Users/username/anaconda3/envs/NAME_OF_YOUR_VIRTUAL_ENV/bin/activate
My problem was that file /opt/pycharm/plugins/terminal/.zshrc (using ZSH) contained line source $JEDITERM_SOURCE. That variable contained correct paths as two parameters <path-to-anaconda-activate>/activate <path-to-anaconda>, but apparently they got interpreted as a single parameter: <path-to-anaconda-activate>/activate <path-to-anaconda>.
I solved that prepending eval to that line, making it eval source $JEDITERM_SOURCE. Now, the variable expands correctly.
If you're using bash then make the same change to /opt/pycharm/plugins/terminal/jediterm-bash.in.
I'm using the bash shell inside pycharm and fixed the problem by making this change:
[~/opt/pycharm-community/plugins/terminal]$ diff jediterm-bash.in.old jediterm-bash.in
65c65
< source "$JEDITERM_SOURCE"
---
> eval source "$JEDITERM_SOURCE"
Essentially making the same change recommended above by https://stackoverflow.com/users/1564931/netchkin, but to ~/opt/pycharm-community/plugins/terminal/jediterm-bash.in.
This fixed my existing projects. But any new projects don't seem to try and activate the conda environment at all. It seems as if new projects created in Pycharm 2017.1.2 don't set the JEDITERM_SOURCE variable when starting a session in the terminal plugin.
There is an open issue on this at https://youtrack.jetbrains.com/issue/PY-23417
Looks like there was a big change to the conda activate script in version 4.4.0. See https://conda.io/docs/release-notes.html. If I downgrade conda to 4.3.34 then I can get conda virtual environments to work in the pycharm terminal again.

Categories

Resources