python - 无法“激活” virtualenv
问题描述
在虚拟环境中运行 Python 的新手,与 Django 混淆,并且无法激活虚拟环境。
花了最后 4 小时试图在本地终端/VS 代码上激活虚拟环境 (venv),但没有成功。
避免“sudo pip install virtualenv”,因为我试图避免以 root 身份安装并具有不同的目录路径等。
“pip install virtualenv”输出:
使用缓存的 virtualenv-20.0.31-py2.py3-none-any.whl (4.9 MB) 收集 virtualenv
已满足要求:/Users/garrettpinto/Library/Python/3.8/lib/ 中的六个<2,>=1.9.0 python/site-packages(来自 virtualenv)(1.15.0)
要求已经满足:/Users/garrettpinto/Library/Python/3.8/lib/python/site-packages 中的 appdirs<2,>=1.4.3(来自 virtualenv) (1.4.4)
已满足要求:/Users/garrettpinto/Library/Python/3.8/lib/python/site-packages 中的 filelock<4,>=3.0.0 (来自 virtualenv) (3.0.12)
已满足要求: distlib<1,>=0.3.1 in /Users/garrettpinto/Library/Python/3.8/lib/python/site-packages (from virtualenv) (0.3.1)
安装收集的包:virtualenv
成功安装 virtualenv-20.0.31
“virtualenv venv”输出:
在 416 毫秒内创建虚拟环境 CPython3.8.5.final.0-64
创建者 CPython3Posix(dest=/Users/garrettpinto/Desktop/rp-portfolio/distribution/venv, clear=False, global=False)
播种器 FromAppData(download=False, pip =bundle, setuptools=bundle, wheel=bundle, via=copy, 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
“source 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
以下是这三行的作用:
- 调用 Python 模块
venv
并在目录中创建一个新的虚拟环境venv
- 运行脚本以激活位于路径中的虚拟环境
venv/bin/activate
- 现在
venv
已激活,安装 Django。
首次安装后,您只需重复步骤 (2) 即可激活它。您还可以在启动 IDE 时将 VSCode 指向自动启动它。您可以在安装完 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
推荐阅读
- sass - 创建没有声明的选择器
- javascript - 如何解决我的 React 应用程序的“元素类型无效”?
- jquery - JQuery:第二个函数没有被正确调用 on.change
- xamarin - 使用 Xamarin.Forms 和 Prism 打开相机时出错
- angular - 尝试输出 mat-grid-tile,以及 Coud-Firestore 提供的数据
- javascript - 如何在 JavaScript 中调用方法 onload
- asp.net - 为了在面向 SQL Server 数据库的 .NET 标准类库中隔离 ASP.NET Core 标识,需要哪些步骤?
- google-sheets - 计算 Google 表格中的唯一值时的不同输出
- c++ - 在数组索引内按 N 递增变量
- reactjs - 如何使用 react-charts 在同一个图表上配置多个条形图