标签: python-venv

无法在Python 3.12中正确创建虚拟环境

我使用命令行

python3 -m venv .venv 
Run Code Online (Sandbox Code Playgroud)

并创建了一个新的 .venv 模块,但出现错误:

错误:命令'['/home/achu/Documentos/portfolio2023/.venv/bin/python3'、'-m'、'ensurepip'、'--upgrade'、'--default-pip']'返回非-零退出状态 1

bin 目录不包含该activate文件。

我试过了

$ apt install python3.12-dev python3.12-venv
Run Code Online (Sandbox Code Playgroud)

python virtualenv python-venv

6
推荐指数
2
解决办法
4693
查看次数

使用venv虚拟环境时,我应该将哪些文件提交到我的git存储库?

使用GitHub的.gitignore,我能够过滤掉一些文件和目录.然而,有一些事情让我有点困惑:

  • GitHub的.gitignore没有包含由venv创建的/ bin和/ share.我认为它们应该被git忽略,因为用户本身就是要构建虚拟环境.
  • Pip生成了一个pip-selfcheck.json文件,看起来大概就像杂乱一样.我认为它通常会这样做,而我之前没有看到过该文件,因为它已被放置在我的全局点子中.
  • 但是,pyvenv.cfg是我真正无法理解的.一方面,它指定了python版本,对于想要使用该项目的其他人来说应该是需要的.另一方面,它还指定home = /usr/bin,虽然可能在许多Linux发行版上可能正确,但不一定适用于所有系统.

我错过了还有其他文件/目录吗?对于如何构建项目以及包含哪些内容,是否有更严格的指导原则?

python git python-venv

5
推荐指数
1
解决办法
1973
查看次数

python3.6在创建venv时失败

我正在尝试使用 Python3.6 设置 venv,但收到了在其他各种帖子(例如此处)中已经提到的错误。不幸的是,所提出的解决方案都没有奏效。

我已经安装了必要的软件包

$ sudo apt install python3.6-venv
...
$ dpkg -l | grep "python3.6-venv"
ii  python3.6-venv                              3.6.5-5~16.04.york0                          amd64        Interactive high-level object-oriented language (pyvenv binary, version 3.6)
Run Code Online (Sandbox Code Playgroud)

我还安装了python3-venv(适用于 python 3.5)。现在尝试设置我收到的 venv 时

python3.6 -m venv test
The virtual environment was not created successfully because ensurepip is not
available.  On Debian/Ubuntu systems, you need to install the python3-venv
package using the following command.

    apt-get install python3-venv

You may need to use sudo with that command. …
Run Code Online (Sandbox Code Playgroud)

python python-venv

5
推荐指数
1
解决办法
2999
查看次数

venv vs virtualenv-为什么venv不使用当前的pip和setuptools?

当使用python -m venv env创造python3.X一个新的虚拟环境中,env不包含pipsetuptools版本我期望的那样。相反,它包含很“旧”版本:pip (8.1.1)setuptools (20.7.0)为2018年6月的。

在另一方面,当使用virtualenv env(通过安装pip install virtualenv),画中画和setuptools的包都是最新的,即pip (10.0.1)setuptools (39.2.0)为2018年6月的。

据我了解,它venv构建虚拟环境首选模块,因为它无需创建Python解释器的新实例,并且无需安装任何内容即可使用现有模块(Linux中的符号链接,Windows中的副本)(https: //www.reddit.com/r/learnpython/comments/4hsudz/pyvenv_vs_virtualenv/d2s2cda)。

为什么说venvpip版本不匹配当前的系统吗?而且使用的行为virtualenv是如此不同?

PS:

短期的解决方案是使用pip install --upgrade pipenv。但这对我来说似乎不对。最小可行的解决方案

$ python --version
Python 3.6.5
$ pip --version
pip 10.0.1 from /home/lionel/.local/lib/python3.6/site-packages/pip (python 3.6)
$ python -m venv …
Run Code Online (Sandbox Code Playgroud)

python pip virtualenv python-venv ubuntu-16.04

5
推荐指数
1
解决办法
2774
查看次数

如何解决错误:[Errno 2]没有这样的文件或目录:'C:\\ Program Files \\ Python37 \\ lib \\ venv \\ scripts \\ nt \\ python_d.exe'

我正在Windows上使用最新版本的Python,并尝试venv与以下代码一起使用:

C:\envs> py -m venv test
Run Code Online (Sandbox Code Playgroud)

即使实际上创建了venv,它也会返回此错误,我不明白为什么。而且我不能激活venv代码

C:\envs> C:\envs\test\Scripts\activate.bat
Run Code Online (Sandbox Code Playgroud)

退货

无法将“ C:\ envs \ test \ Scripts \ activate.bat”识别为内部或外部命令,可操作程序或批处理文件。

python-3.x python-venv

5
推荐指数
2
解决办法
8195
查看次数

如何修复在 Mac Os X 和 Google Drive File Stream 上使用 venv 的“无法符号链接”错误

下面的命令将导致不同的输出,具体取决于我是从桌面上的文件夹还是从 Google Drive File Stream 文件夹工作

这是命令:

python3 -m venv env
Run Code Online (Sandbox Code Playgroud)

如果我使用的文件夹是 Google Drive File Stream 文件夹,我会收到以下错误消息:

Unable to symlink '/usr/local/bin/python3' to '/Volumes/GoogleDrive/Mon Drive/perso/coding/Python/Environments/env/bin/python3'
Run Code Online (Sandbox Code Playgroud)

但是,如果我从位于桌面上的文件夹中执行相同操作,则不会收到任何错误消息,并且我可以毫无问题地激活/停用 venv。

我认为这在某种程度上与特定的用户权限有关,但我很感激您的意见,因为我不想在操作系统级别搞砸事情。

python python-venv

5
推荐指数
1
解决办法
922
查看次数

如何在使用鱼时停用 venv?

我已经使用 python3 安装了 venv 和 fish like 并使用 env/bin/activate.fish 激活,但是在 env/bin/ 中没有deactivate.fish

? ls env/bin/
activate         activate.fish    easy_install     pip              pip3.7           python3
activate.csh     chardetect       easy_install-3.7 pip3             python           yapf
Run Code Online (Sandbox Code Playgroud)

我怎样才能停用venv?

python fish python-3.x python-venv

5
推荐指数
1
解决办法
913
查看次数

如何创建一个空的python虚拟环境

使用 conda 创建新环境时,我们会得到一个完全空的虚拟环境:

conda create --name=test
conda activate test
conda list
Run Code Online (Sandbox Code Playgroud)

最后一个命令的输出是一个空列表,甚至没有pip安装。我想用 pythonvenv命令实现相同的结果(或者至少只pip安装了“最小”虚拟环境)。当我运行时python -m venv test,新环境包含所有“系统范围”可用的包:

python -m venv test
source test/bin/activate
pip freeze
Run Code Online (Sandbox Code Playgroud)

输出一长串包。

根据文档,该命令具有--system-site-packages参数,但看起来默认情况下已启用,我找不到禁用它的方法。我也试过使用旧的 virtualenv--clear参数,但显然它没有被考虑在内。

编辑:

原来是环境模块module命令干扰了 python 模块(https://modules.readthedocs.io/en/latest/)。运行后module purge pip freeze返回空列表。

python python-3.x python-venv

5
推荐指数
1
解决办法
6936
查看次数

为什么 .pth 文件在 Python 虚拟环境中加载两次?

在用户站点 .pth 文件在解释器启动时处理一次:

$ echo 'import sys; sys.stdout.write("hello world\n")' > ~/.local/lib/python3.8/site-packages/hello.pth
$ python3.8 -c ""
hello world
Run Code Online (Sandbox Code Playgroud)

它在系统站点中的行为相同,例如/usr/local/lib/python3.8/site-packages/

但在 venv 中,它们被处理两次

$ rm ~/.local/lib/python3.8/site-packages/hello.pth
$ /usr/local/bin/python3.8 -m venv .venv
$ source .venv/bin/activate
(.venv) $ echo 'import sys; sys.stdout.write("hello world\n")' > .venv/lib/python3.8/site-packages/hello.pth
(.venv) $ python -c ""
hello world
hello world
Run Code Online (Sandbox Code Playgroud)

为什么在虚拟环境中路径配置文件要处理两次?

python python-venv

5
推荐指数
1
解决办法
263
查看次数

VS代码:Python解释器找不到我的venv

我已经坚持了几天,如果可以的话,请帮我。

我的根项目文件夹上有venv文件夹。当我尝试设置Python解释器时,它仅显示我机器中安装的Python,而不显示我的根文件夹中的Python。

在我格式化PC并安装Windows 10 64位之前,它工作正常。(在Windows 7 64位之前运行)

我尝试过的事情:

  • 在工作区和用户设置中,通过pythonPath和/或手动设置路径venvPath
    "python.pythonPath": "F:/Web Dev/Python/Django/project_x_v2/backend/venv/Scripts/python.exe",
    "python.venvPath": "F:/Web Dev/Python/Django/project_x_v2/backend/venv/Scripts/python.exe",
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

它向我显示了占位符中的正确位置,但是我没有选择从下拉列表中选择的位置:

在此处输入图片说明

有什么想法可以解决这个问题吗?

非常感谢你。

编辑:

  • 在图像中,它显示为“ python”,但我已将其更正为“ python.exe”,但仍然无法正常工作。
  • ~\AppData\...位于磁盘C:\中,而我的venv位于磁盘F:中。我不确定这是否相关;
  • venv在控制台中运行良好。

python django python-venv visual-studio-code

5
推荐指数
2
解决办法
168
查看次数