阅读PEP 405中的以下声明后
还提供了pyvenv安装的脚本,以使这更方便:
pyvenv /path/to/new/virtual/environment
我试图创建一个新的虚拟环境并且失败了;
C:\>python --version
Python 3.3.1
C:\>pyvenv myvenv
'pyvenv' is not recognized as an internal or external command,
operable program or batch file.
Run Code Online (Sandbox Code Playgroud)
显然,pyvenv脚本未安装到Scripts通常添加到PATH环境变量的文件夹中,因此可以在命令行上轻松运行此类脚本.
PEP 405是错误的,是否在Python 3.3中没有正确实现,或者我错过了什么?
从python 3.3开始,stdlib具有用于创建虚拟环境的venv模块.python 3.x venv环境是否可重定位?
作为新python版本的编译步骤的一部分,我获取并运行get-pip.py,以便在python可执行文件旁边安装最新的pip:
$ /opt/python/3.7.0/bin/python --version
Python 3.7.0
$ /opt/python/3.7.0/bin/pip --version
pip 18.0 from /opt/python/3.7.0/lib/python3.7/site-packages/pip (python 3.7)
Run Code Online (Sandbox Code Playgroud)
我有25个这样的版本/opt/python,虽然我主要使用每个major.minor版本不是EOL的五个最新版本.要设置我曾经运行过的invorment,virtualenv或者我virtualenvutils可以-p /opt/python/X.Y.Z/bin/python选择获取具有特定版本的虚拟环境.
使用Python 3.7,这给出了imp模块弃用警告:
$ virtualenv -p /opt/python/3.7.0/bin/python /tmp/py37virtualenv
Running virtualenv with interpreter /opt/python/3.7.0/bin/python
Using base prefix '/opt/python/3.7.0'
/opt/util/virtualenvutils/lib/python3.6/site-packages/virtualenv.py:1041: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses
import imp
New python executable in /tmp/py37virtualenv/bin/python
Installing setuptools, pip, wheel...done.
Run Code Online (Sandbox Code Playgroud)
我很少希望这将在virtualenv中得到解决,因为PendingDeprecationWarning至少自2014年以来(从这个问题的输出中可以看出)
在调查用in 替换virtualenv …
我在 python 中遇到错误:
ImportError: No module named can
Run Code Online (Sandbox Code Playgroud)
但奇怪的是,当我在环境中使用 pip list 检查时,所有这些库都已安装:
正如您在屏幕截图中看到的,它告诉我can找不到该库,但是当我使用 pip list 检查它时
我已经设置了一个 venv using python -m venv venv,它被 vscode 识别为有效的解释器,并使用代码运行器 vscode 扩展按预期运行我的代码。但vscode集成的bash终端仅使用系统版本的python,即使运行后也是如此source /Fake/path/to/env/bin/activate。终端显示(env)在输入提示符上,但通过检查版本os.path.dirname(sys.executable)显示 python 的版本是我的系统路径中的版本,而不是 venv 中的版本。所以我正在安装的包被安装到系统 python 而不是 venv。
这是 vscode 中终端的问题,而不是 venv 本身的问题,因为当我在本机终端(非集成)中按照上述步骤操作时,我得到了 venv python 的正确路径。
我尝试将python.venvPathvscode 中的变量设置为${workspaceFolder}/envor tofake/path/to/env但都不起作用。我认为可能可以在该terminal.integrated.shellArgs.macos设置下设置 bash shell 参数,但无法弄清楚如何让它在启动时运行正确的激活脚本。作为参考,我当前的 vscode 设置如下:
"settings": {
"code-runner.fileDirectoryAsCwd": true;
"code-runner.executorMap": {
"python": "env/bin/python3",
},
"python.venvPath": "${workspaceFolder}/env",
"terminal.integrated.cwd": "${workspaceFolder}",
},
}
Run Code Online (Sandbox Code Playgroud)
基本上,我期望集成终端激活 venv activate bash 脚本并临时替换路径以获取我的 venv python 作为默认值。然后我就可以使用 pip3 将相关包安装到 venv 而不是系统 python 中。但是,尽管在条目之前显示提示,但实际行为是在发出命令(例如或 ) …
我使用 Pycharm,每当我将项目移动到另一个文件夹时,它都会显示“为该项目选择的 python 解释器无效”。我认为发生这种情况是因为 venv 的路径已经改变。
我尝试配置 Python 解释器 > 添加解释器 > 选择“现有环境”以及 venv 的新路径。我原以为这会起作用,但在我单击“确定”后,它暂时显示“正在更新解释器路径”,但没有任何变化。我什至尝试检查“对所有项目可用”。
我还尝试了一些堆栈溢出答案,但无法成功。我怎样才能解决这个问题?
Error:Cannot run program "C:\Users\aksha\Pycharm\Digital Clock\venv\Scripts\python.exe" (in directory "C:\Users\aksha\Pycharm\60 Python Projects\Digital Clock"): CreateProcess error=2, The system cannot find the file specified
Run Code Online (Sandbox Code Playgroud) 我已经deadsnakes在我的 Ubuntu 20.04 机器上安装了 Python 3.10。
如何使用它?python3 --version返回Python 3.8.10并python3.10 -m venv venv返回错误(我python3-venv也安装了)。
我是一个初学者,正在“玩弄”环境。我遇到了一种情况,似乎我激活了两个环境:我创建一个目录,使用 venv 创建一个环境,激活它,然后 conda 激活我之前创建的 conda 环境。这些是命令:
mkdir dummie_directory
cd dummie_directory
python -m venv .
Scripts\activate
conda activate old_env
Run Code Online (Sandbox Code Playgroud)
之后我的命令行的开头如下所示:
(old_env)(dummie_directory) C:\Users\....
Run Code Online (Sandbox Code Playgroud)
这是否意味着两个环境都处于活动状态?是否有任何预期用途,或者它很可能会导致已安装的软件包之间发生某种冲突/冲突?
谢谢
激活我的 venv 并通过安装 Pydantic 后
pip install pydantic
Run Code Online (Sandbox Code Playgroud)
我尝试创建一个新文件,如下所示:
from pydantic import Basemodel, EmailStr
class Person(BaseModel):
id: int
name: str
email: EmailStr
Run Code Online (Sandbox Code Playgroud)
并且只是使用未使用的类运行该文件。但它返回了以下错误:
ModuleNotFoundError: No module named 'email_validator'
.
.
.
ImportError: email-validator is not installed, run `pip install pydantic[email]`
Run Code Online (Sandbox Code Playgroud)
运行时提示
ModuleNotFoundError: No module named 'email_validator'
.
.
.
ImportError: email-validator is not installed, run `pip install pydantic[email]`
Run Code Online (Sandbox Code Playgroud)
它告诉我:
zsh: no matches found: pydantic[email]
Run Code Online (Sandbox Code Playgroud)
有人可以帮我解决这个愚蠢的初学者错误吗?谢谢!
我重新安装了 Pydantic,重新创建了 venv,重新激活了 venv。
使用 Python 3.11 解释器创建 virtualenv 时出现错误。
我在终端中输入了这个
python3.11 -m venv env
Run Code Online (Sandbox Code Playgroud)
它返回了这个:
Error: Command '['/home/bambang/env/bin/python3.11', '-m', 'ensurepip', '--upgrade', '--default-pip']' returned non-zero exit status 1.
Run Code Online (Sandbox Code Playgroud)
可能缺少什么?
python-venv ×10
python ×9
python-3.x ×4
pip ×2
virtualenv ×2
conda ×1
environment ×1
interpreter ×1
macos ×1
pycharm ×1
pydantic ×1
python-3.11 ×1
ubuntu ×1
windows ×1
zsh ×1