标签: python-venv

确保pip模块不存在,如何手动安装?

为了避免出现 XY 问题:目标是在 Synology dsm 上创建虚拟环境,因此不需要 apt-get,其中 pip 是手动安装的。

我正在尝试在上述环境中创建一个虚拟环境(手动安装 pip 的 Synology dsm package python 3.8)。

但这会产生以下错误:

$ python3 -m venv new_venv
Error: Command '['/volume1/docker/builder/new_venv/bin/python3', '-Im', 'ensurepip', '--upgrade', '--default-pip']' returned non-zero exit status 1.
Run Code Online (Sandbox Code Playgroud)

在发现该错误的过程中,我发现它venv工作得“很好”:

$ python3 -m venv --without-pip new_venv 
Run Code Online (Sandbox Code Playgroud)

按预期工作。pip 本身也按预期工作。但是我必须手动安装 pip。这也导致 Synology dsm 版本的 python 没有该模块ensurepip..

# python3 -c "import ensurepip; print(ensurepip.__file__);"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ModuleNotFoundError: No module named 'ensurepip'
Run Code Online (Sandbox Code Playgroud)

这就产生了问题:如何手动安装ensurepip …

python pip synology python-venv python-3.8

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

如何在Mac M1上安装多个Python版本

我已经安装了 Python 3.9.2,因为它支持 Python.org 中推荐的 ARM64

之后我使用创建了一个虚拟环境python3 -m venv py39

现在我需要另一个环境,但使用 Python 3.8.8,因为 Tensorflow 仅支持 3.8。如何使用 Python 3.8 创建另一个虚拟环境,同时维护其他 3.9 环境。如果要求我使用conda,conda 是否支持 Mac M1 ARM64,因为根据我的搜索它不支持

我发现同样的问题被问了很多次,但对于 Windows 来说,答案非常古老,例如: Use different Python version with virtualenv 11 Years ago

python macos virtualenv python-venv tensorflow

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

如何创建 venv

我一直在虚拟环境中使用 python v3.9,它包含我长期以来使用的所有包和脚本。但是,现在随着 python v 3.10 的发布,它在全球范围内安装了自己,尽管我希望它安装在我用于 python v3.9 的同一个 venv 中,所以,如果有人可以帮助我如何在中安装 python v3.10与我的 v3.9 相同。我的IDE是PyCharm

python pycharm python-3.x python-venv python-3.10

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

Windows Python (&lt;=3.10.2) 无法运行 `python -m venv .venv`

此问题已解决,并向 Python.org 提交了错误报告。请参阅下面我的自我回答以了解解决方法,直到它在 Python 的未来版本中得到修复

\n

我的一台电脑被这个 bug 咬了,它不再允许我创建 venv,并出现以下错误:

\n
Error: Command \'[\'C:\\\\Users\\\\kesh\\\\test\\\\.venv\\\\Scripts\\\\python.exe\', \'-Im\', \'ensurepip\', \'--upgrade\', \'--default-pip\']\' returned non-zero exit status 101.\n
Run Code Online (Sandbox Code Playgroud)\n
    \n
  • 此问题已已知,按时间顺序:v3.7.2v3.8v3.?、& v3.10.1
  • \n
  • 唯一已知的解决方案是放弃每用户安装并通过选中“为所有用户安装”选项来使用全局安装
  • \n
\n

我试图弄清楚究竟发生了什么,但很快就没有想法了。以下是我到目前为止所尝试过的:

\n
    \n
  • 在我的电脑上,“为所有用户安装”以及虚拟帐户上的每用户安装都有效(全部使用相同的 v3.10.2 安装程序)。这表明问题出在我的 Windows 帐户上。更改安装位置没有帮助。
  • \n
  • venv通过运行 Python进入源代码venv.main(args=(\'.venv\',)),逐行调试,并注意到它使用Lib\\venv\\scripts\\nt\\python.exe.py 从 python 安装目录复制到本地文件夹。.venv\\Scriptsshutil.copyfile()
  • \n
  • 如果我在命令提示符下运行原始文件Lib\\venv\\scripts\\nt\\python.exe,它会运行一条消息No pyvenv.cfg file(这是有道理的,因为 .cfg 文件位于.venv它看不到的文件夹中)
  • \n
  • 如果我调用复制的文件.venv\\Scripts\\python.exe,则会返回错误Unable to create process …

python windows python-venv

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

如何升级Python venv版本

我安装了Python3.10,并且在我一直在从事的项目中有一个venv。我不明白如何轻松升级。我的背景主要是 Node 和 JS,这肯定更简单,更容易更改版本。

我只是想创建一个新的 venv 但这不起作用

mpaccione@T430:~/Projects/investing/react-flask-app/server$ python3.10 -m venv ~/Projects/investing/react-flask-app/server
Error: Command '['/home/mpaccione/Projects/investing/react-flask-app/server/bin/python3.10', '-Im', 'ensurepip', '--upgrade', '--default-pip']' returned non-zero exit status 1.
Run Code Online (Sandbox Code Playgroud)

我还想也许我可以更改 pyvenv 配置可以更改,但这也不起作用

home = /usr/bin
include-system-site-packages = false
version = 3.8
Run Code Online (Sandbox Code Playgroud)

home = /usr/bin/python3.10
include-system-site-packages = false
version = 3.10
Run Code Online (Sandbox Code Playgroud)

有没有一种简单直接的方法可以改变这种情况?我确信这是一个常见的用例!

python-venv

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

使用Python3创建virtualenv时出错

我正在研究Linux Mint 17,我正在尝试使用Python3创建一个新的virtualenv,如下所示:

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

这是我得到的错误:

Error: Command '['/home/ric/myprojs/django-example-channels/env/bin/python3.6', '-Im', 'ensurepip', '--upgrade', '--default-pip']' returned non-zero exit status 1.
Run Code Online (Sandbox Code Playgroud)

我用谷歌搜索了这个错误信息,但没有找到任何太有用的信息.

这是我的pip版本,如果它有任何区别:

pip --version
pip 9.0.1 from /usr/local/lib/python2.7/dist-packages (python 2.7)
Run Code Online (Sandbox Code Playgroud)

我已经使用Python2一段时间了,但我是Python3的新手.我不知道自己可能缺少什么.

更新1:

回答@ cezar的问题,当我输入 which python3这个是我得到的:

$ which python3
/usr/bin/python3
Run Code Online (Sandbox Code Playgroud)

更新2:

回答@ChłopZLasu:

$ virtualenv -p python3.6 env
Running virtualenv with interpreter /usr/bin/python3.6
Using base prefix '/usr'
New python executable in /home/ric/myprojs/django-example-channels/example_channels/env/bin/python3.6
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/virtualenv.py", line 2328, in <module>
    main()
  File "/usr/local/lib/python2.7/dist-packages/virtualenv.py", line 713, in main …
Run Code Online (Sandbox Code Playgroud)

python virtualenv python-3.x python-venv

4
推荐指数
1
解决办法
6029
查看次数

如何使用Pipenv运行Cron作业?

为了演示我遇到的问题,我将使用这个简单的函数,该函数位于/Users/X/Code/python/example/start.py

def say_hello(name):
   print("Saying hello to {}".format(name))

say_hello("John")
Run Code Online (Sandbox Code Playgroud)

pipenv用来设置程序包和环境。在此文件夹(旁start.py),我还有其他四个文件- ,,Pipfile 和。Pipfile.lock.envlog.txt

当我运行时pipenv run python start.py,一切正常,我得到了输出。

现在,我希望此脚本每分钟运行一次,所以我使用设置了一个cron作业crontab -e,这是我最初在其中所拥有的:

* * * * * /usr/local/bin/pipenv run python /Users/X/Code/python/example/start.py >> /Users/X/Code/python/example/log.txt 2>&1

这给了我该log.txt文件中的错误转储:

RuntimeError: Click will abort further execution because Python 3 was configured to use ASCII as encoding for the environment.  Consult http://click.pocoo.org/python3/for mitigation steps.

This system lists a couple of UTF-8 supporting locales that
you …
Run Code Online (Sandbox Code Playgroud)

python cron pip python-venv pipenv

4
推荐指数
1
解决办法
2554
查看次数

Venv 和内存使用,我应该担心吗?

我对使用 venv 还很陌生。对于许多不同的软件包,有没有办法告诉每个 venv 使用了多少?当我删除 venv 时,我是否也删除了为其中的所有内容分配的内存空间?

python-venv

4
推荐指数
1
解决办法
4262
查看次数

使用venv时是否需要激活虚拟环境

在 Mac 上使用 Python 3.7.0。尝试使用venv在 python 3.4 后添加的模块。

我使用设置我的虚拟环境python3 venv -m path/to/my/dir- 我的问题是我需要激活这个虚拟环境才能使用吗?

文件似乎在暗示我不需要?

您不需要特别激活环境;激活只是将虚拟环境的二进制目录添加到您的路径中,以便“python”调用虚拟环境的 Python 解释器,您可以运行已安装的脚本而无需使用它们的完整路径。但是,安装在虚拟环境中的所有脚本都应该可以在不激活的情况下运行,并自动与虚拟环境的 Python 一起运行。

如果我不必激活,将 venv 预先添加到二进制目录有什么好处?无论 venv 是否正常工作,都不会发生这种情况吗?

python python-venv

4
推荐指数
1
解决办法
4047
查看次数

Python3.8 venv 返回退出状态 101

我发现了类似的帖子,主要与 venv 上的 linux 相关,但工作有问题。python 3.8 venv缺少激活命令但是,我对如何在Windows上解决它以及发生了什么感到困惑。

我通过在 pythons 网站上下载安装了 python3.8。然后我按照 3.8 文档https://docs.python.org/3/library/venv.html显示:

python3 -m venv /path/to/new/virtual/environment

我这样做了,但随后出现以下错误:

Error: Command '['E:\\py_envs\\hf4\\Scripts\\python.exe', '-Im', 'ensurepip', '--upgrade', '--default-pip']' returned non-zero exit status 101.
Run Code Online (Sandbox Code Playgroud)

当我使用: python -m venv --without-pip hf4

进而 hf4\Scripts\activate

它适用于激活。我不明白的是,然后我可以运行 pip 并且它在激活的环境中就在那里。这似乎是一个相关的问题,我在系统 python 上安装的任何东西也可用。例如,在激活的会话中:

(hf4) E:\py_envs>where pip
C:\Users\local user\AppData\Local\Programs\Python\Python38\Scripts\pip.exe
Run Code Online (Sandbox Code Playgroud)

一个问题自然是如何解决这个问题,另一个问题是我希望对正在发生的事情进行解释以更好地理解它。是不是先搜索活动环境,找不到就默认系统版本?

python-venv python-3.8

4
推荐指数
1
解决办法
5173
查看次数