Home  >  Article  >  Development Tools  >  Detailed explanation of how Atom configures Python virtual environment (Windows environment)

Detailed explanation of how Atom configures Python virtual environment (Windows environment)

青灯夜游
青灯夜游forward
2021-04-01 10:44:414681browse

This article will introduce to you how to configure the Python virtual environment in the Atom editor in the Windows environment. It has certain reference value. Friends in need can refer to it. I hope it will be helpful to everyone.

Detailed explanation of how Atom configures Python virtual environment (Windows environment)

Related recommendations: "atom tutorial"

Why I chose Atom

Atom can be said to be completely popular among Windows text editors, and more people use it. I chose Atom mainly because I have used Vim before, and Atom's Vim plug-in has all the common functions in place, including (Ctrl A / Ctrl X) to increase or decrease numbers. With the addition of a ex-mode plug-in to implement the : command, it is already very suitable for the Vim experience.
As for why I don’t use Vim anymore, it’s because Vim has been updated to 8.2, and the vimrc I configured before can’t be moved over (save the child, the child can’t understand how to configure TAT)

Python development requirements

In order to facilitate the management of third-party libraries, it is recommended to build a virtual environment when developing Python. However, for daily use, if it is not a big project, running a job or a test program, or even the code may not be long enough to report an error message, there is no need to open a virtual environment.
The problem arises at this time. The Python root directory I installed does not have the package I want, so I want to use the compiler of the virtual environment to run my code, but I don’t want to experience the crappy cmd or Anaconda. Prompt to run my program using commands. How can I integrate this function into Atom?

Related plug-ins

Used to run the programDetailed explanation of how Atom configures Python virtual environment (Windows environment)

Here is mine The key to Atom running programs is the Detailed explanation of how Atom configures Python virtual environment (Windows environment) plug-in:

Detailed explanation of how Atom configures Python virtual environment (Windows environment)

This plug-in allows you to press F5 or F6 You can execute the current program. In fact, the principle is very simple, that is, a custom command is executed:

Detailed explanation of how Atom configures Python virtual environment (Windows environment)

This command can be changed. It is very simple to change, you just need to know that {file} represents the current file, and this command will be executed every time you press F5.

Obviously, this plug-in cannot solve the problem of virtual environment. Although you can write this instruction to be executed using the Python compiler in the virtual environment, the working environment of other plug-ins will not change. The result is that when you write code, pylint keeps telling you that this package cannot be found and that package does not exist, and the obsessive-compulsive disorder dies on the spot.

Virtual environment plug-in attempt

So I looked for other plug-ins and found this one by referring to this articleatom-python-virtualenv.

The blogger seems to have no problem on Ubuntu, but I can't do it on Windows. I tried modifying the parameters for a long time, but it still didn't work. Finally, I turned to the plug-in author's instructions and found that this plug-in does not currently support anaconda's virtual environment! The author wrote a To-Do list, which has three items:

  • Add support for installing new packages with pip;
  • Add support for pip virtual environment;
  • Add support for conda virtual environment.

This means that none of the above three can be done now.

Solution

If the plug-in doesn't work, the easiest way I can think of is to change the entire Atom running environment. The environment variables of the shell in Ubuntu can be inherited into its child processes. That is, if you open a new application in the terminal, the environment variables of this application will be inherited from the terminal. There should be a similar feature within Windows.

So, I tried to start Atom with the command from Anaconda Prompt:

Detailed explanation of how Atom configures Python virtual environment (Windows environment)

PS: There is no custom interface for Atom installation, it should be modified by default Good environment variables (and forced installation on C drive). But if this command does not exist, you can find the Atom installation directory by yourself, put the bin path folder into the Path environment variable, and then restart the command line.

There is no opencv in this base environment. When you see import cv2 here, an error is reported, and an error will occur if you continue to run it.

Detailed explanation of how Atom configures Python virtual environment (Windows environment)

And when I change the virtual environment in Anaconda Prompt and then open Atom:

Detailed explanation of how Atom configures Python virtual environment (Windows environment)

I found that the error report of pylint disappeared and the program can run normally:

Detailed explanation of how Atom configures Python virtual environment (Windows environment)
Detailed explanation of how Atom configures Python virtual environment (Windows environment)

Okay! Although this method definitely cannot hot switch the virtual environment, it is originally used to write a small project, and there is basically no need to switch the virtual environment. The problem is solved.

I am using the conda virtual environment as an example here. In fact, the pip virtual environment is the same. You only need to change the shell's environment variables first, and then execute atom in this shell. Command to open Atom and you are done.

Furthermore, if you still feel that this solution requires switching environments every time it is started, which is too troublesome, you can also encapsulate these two commands and turn them into a bat script file. Specifically, create a new text document, enter the following command

start /k cmd "conda activate <your env> && atom"

, and rename the document along with its extension into a bat file, such as atom_venv.bat. You can put this file on the desktop. Then next time you want to start Atom with the virtual environment <your env></your>, then you only need to put <your env></your> in the command. Just replace it with your environment name.

This command will open a new command line window and execute the two instructions before and after && in the quotation marks. If you are interested, you can check the relevant scripting information XD

Complete

Atom, including the Vim I used before, has a common shortcoming, that is, the support for Windows is not as good as Linux. This is also very helpless. After all, the original target groups of the two operating systems are different, and the design concepts are very different.

However, the two systems have actually learned from each other's strengths and weaknesses in recent years. Putting aside the user-friendly interface of Linux, Microsoft has made a terminal for Windows 10. Search "Windows Terminal" in the Microsoft Store to download and install it. This thing is based on PowerShell, well packaged, and naturally much more comfortable to use than cmd. It supports many Terminal functions, such as easy-to-use code auto-completion, and its own configuration file, which can save the Python virtual environment for easy use next time.

It’s a lot of verbosity hhh In fact, I guess most people don’t have time to read this nonsense, so I tried to be as concise and clear as possible in the solution part. But I still want to talk nonsense and say something else off-topic. Thank you for being here.

For more programming related knowledge, please visit: Programming Video! !

The above is the detailed content of Detailed explanation of how Atom configures Python virtual environment (Windows environment). For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:csdn.net. If there is any infringement, please contact admin@php.cn delete