无法“激活” virtualenv

问题描述

在虚拟环境中运行Python的新手,与Django混为一谈,并且无法激活虚拟环境。

花了最后4个小时尝试在本地终端/ VS Code上激活虚拟环境(venv),但是没有运气。

避免了“ sudo pip install virtualenv”,因为我试图避免以root身份安装并具有不同的目录路径等。

“ pip install virtualenv”输出

收集virtualenv 使用缓存的virtualenv-20.0.31-py2.py3-none-any.whl(4.9 MB)
已经满足的要求:/Users/garrettpinto/Library/Python/3.8/lib/python/site-packages中的6 = 1.9.0(来自virtualenv)(1.15.0)
已满足要求:/Users/garrettpinto/Library/Python/3.8/lib/python/site-packages中的appdirs = 1.4.3(来自virtualenv)(1.4.4)
已满足要求:/Users/garrettpinto/Library/Python/3.8/lib/python/site-packages中的filelock = 3.0.0(来自virtualenv)(3.0.12)
已满足要求:/Users/garrettpinto/Library/Python/3.8/lib/python/site-packages中的distlib = 0.3.1(来自virtualenv)(0.3.1)
安装收集的软件包:virtualenv
成功安装virtualenv-20.0.31

“ virtualenv venv”输出

在416毫秒内创建了虚拟环境Cpython3.8.5.final.0-64
创建者Cpython3Posix(目标= / Users / garrettpinto / Desktop / rp-portfolio / distribution / venv,clear = False,global = False)
播种器FromAppData(下载= False,pip =捆绑,setuptools =捆绑,wheel =捆绑,通过=复制,app_data_dir = / Users / garrettpinto / Library / Application Support / virtualenv)
添加的种子包:pip == 20.2.2,setuptools == 49.6.0,wheel == 0.35.1
激活器BashActivator,CShellActivator,FishActivator,PowerShellActivator,PythonActivator,XonshActivator

“源venv / bin / activate”不返回任何内容

“ ../ venv / bin / activate”输出

zsh:权限被拒绝:./venv/bin/activate

“ sudo ./venv/bin/activate”输出

sudo:./venv/bin/activate:找不到命令

有想法吗?

解决方法

欢迎堆栈溢出。

由于虚拟环境的发展,在虚拟环境中存在很多令人困惑的信息。从Python 3.3开始,venv模块可作为标准库的一部分与Python一起使用,以创建虚拟环境,如果您刚刚起步,建议您首先学习它。安装Python 3.8之后,没有任何其他要安装的东西。

在VSCode终端的项目主目录中,尝试以下操作:

python3 -m venv venv
. venv/bin/activate
pip install Django

这是三行内容:

  1. 调用Python模块venv,并在目录venv中创建新的虚拟环境
  2. 运行脚本以激活路径venv/bin/activate中的虚拟环境
  3. 现在venv已激活,请安装Django。

首次安装后,只需重复步骤(2)即可激活它。您还可以将VSCode指向在启动IDE时自动启动它。安装Python插件后,您可以单击VSCode底部的栏,以在创建的venv中选择Python版本。祝你好运!

更新

以下是在我的计算机上zsh中工作的示例:

$ zsh
% python3 --version
Python 3.8.2
% python3 -m venv venv
% . venv/bin/activate
(venv) % pip install Django
Collecting Django
Collecting pytz (from Django)
Collecting asgiref~=3.2.10 (from Django)
Collecting sqlparse>=0.2.2 (from Django)
Installing collected packages: pytz,asgiref,sqlparse,Django
Successfully installed Django-3.1.1 asgiref-3.2.10 pytz-2020.1 sqlparse-0.3.1
,

我被这个问题困住了很长时间 但你可以试试 venv:

python -m venv virtualenvname

#to activate the virtual environment

source virtualenvname/Scripts/activate
,

Solution of the problem of virtual environment created but not activated.

to make activate just add a space between .(dot) and your venv path. i,e $ . yourvirtualenv/bin/activate Hope this will work. But not use like: $ yourvirtualenv/bin/activate or $ /yourvirtualenv/bin/activate Here is my command and the output: admin@osboxes:~/pysrc$ . my_env/bin/activate (my_env) admin@osboxes:~/pysrc$
Output of the wrong command: admin@osboxes:~/pysrc$ my_env/bin/activate bash: my_env/bin/activate: Permission denied admin@osboxes:~/pysrc$ sudo my_env/bin/activate [sudo] password for admin: sudo: my_env/bin/activate: command not found admin@osboxes:~/pysrc$ my_env/bin/activate bash: my_env/bin/activate: Permission denied admin@osboxes:~/pysrc$

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...