简体   繁体   中英

Where is the standard library in python virtual environment?

I'm using Ubuntu system with python 3.5 installed by default.

When I use the venv module to create virtual environment, I can't find the standard library in my virtual environment but only the binary file for python interpreter. However I can import standard library modules in my python script when I switch to use this virtual environment.

So how does venv work? Does the newly created virtual environment just use the standard library of the system python? If so, what if I want to create a completely self-contained virtual environment? Is it possible to achieve this by the venv module? By the way, I used conda before. conda can create virtual environment with python different with the system version. Can venv do this job?

It's because venv uses the systems standard library. it will be a problem if you update actual Python because version mismatch can happen there. Take a look at the following link you will get more information.
https://virtualenv.pypa.io/en/stable/

A Virtual Environment is a tool to keep the dependencies required by different projects in separate places, by creating virtual Python environments for them. It solves the “Project X depends on version 1.x but, Project Y needs 4.x” dilemma, and keeps your global site-packages directory clean and manageable

virtualenv creates a folder which contains all the necessary executables to use the packages that a Python project would need.

Since you are using python 3, Use the venv module, which you can install through apt-get.

$ sudo apt-get install python3.5-venv

Then you can set up your virtual environment with

$ pyvenv-3.5 /path/to/directory

and activate the environment with

$ source /path/to/directory/bin/activate

Also This may help you.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM