Where is the standard library in python virtual environment?

ぐ巨炮叔叔 提交于 2019-12-13 03:48:14

问题


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?


回答1:


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/




回答2:


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.



来源:https://stackoverflow.com/questions/45853321/where-is-the-standard-library-in-python-virtual-environment

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!