标签: virtual-environment

同时激活venv和conda环境

我是一个初学者,正在“玩弄”环境。我遇到了一种情况,似乎我激活了两个环境:我创建一个目录,使用 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)

这是否意味着两个环境都处于活动状态?是否有任何预期用途,或者它很可能会导致已安装的软件包之间发生某种冲突/冲突?

谢谢

python environment python-venv conda virtual-environment

9
推荐指数
1
解决办法
1808
查看次数

删除和/或更新系统的Python时虚拟环境的后果

编辑清晰度这个问题是关于venv的,它经常与virtualenv混淆。

删除系统的Python安装(使用该源在系统上创建虚拟环境所使用的源)有什么后果venv

最终,我想做的是删除3.7安装并在发行3.8时安装3.8,但是我不确定虚拟环境与系统环境之间的连接强度。

提出此问题时可能相关的一些系统详细信息:

  • 操作系统= Red Hat Enterprise Linux 7
  • 3.7是从Python.org上的源代码安装的,而不是rh-Pythonx.x yum存储库中的packge。
  • Python 3.7已安装到默认位置, /usr/local/bin/python3.7
  • /usr/local/bin/python3 是一个链接 /usr/local/bin/python3.7

鉴于上述细节,我的印象是Python的3.8将安装到下/usr/local/bin/python3.8python3然后将指向该版本。

虚拟环境内部是否有足够的空间成为自己稳定的3.7环境?还是会崩溃,尝试引用不再存在的系统安装?

tl; dr: 从不再存在的Python源创建的所有虚拟环境中发生了什么?

python upgrade python-venv virtual-environment

8
推荐指数
1
解决办法
508
查看次数

Python venv没有创建虚拟环境

我正在尝试为我当前的 Django 项目创建一个虚拟环境

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

但是该命令不会使用 bin/include/lib 文件夹创建任何目录。我到底错过了什么?

在此处输入图片说明

django python-3.x virtual-environment

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

在 Jupyter Notebook 中使用 Python 虚拟环境

我经常发现这很有用,但我不确定有什么方法可以做到这一点。我经常在一个 python 项目上工作,在那里我用一个项目的虚拟环境和一个 Jupyter 笔记本启动项目。当我在 Jupyter notebook 中进行实验时,我开始向虚拟环境添加库。问题是如果我跑

pip freeze > requirements.txt
Run Code Online (Sandbox Code Playgroud)

在我的项目结束时,该文件将在我的虚拟环境中包含 jupyter 的库。有什么方法可以运行 Jupyter 笔记本(例如在我的基本 conda 环境中)但使用与另一个虚拟环境关联的内核?这似乎是最好的解决方案,但我不确定这是否可行?我知道我可能会做一些事情来从冻结的内容中删除这些内容,但这似乎是一种黑客行为。我看不到任何方法可以避免在目标虚拟环境中至少安装 ipykernel

python virtual-environment jupyter-notebook

8
推荐指数
1
解决办法
729
查看次数

在 Windows 上使用 conda 或与 conda 一起安装 Python alpha 和 beta 版本时,我有哪些选择?

Can I conda install an alpha or beta version of Python密切相关但这个问题是关于 conda-forge 中的特定版本。如果 Python 版本(例如 3.10.0b1)可以通过https://www.python.org/download/pre-releases/下载但还没有在主要的 anaconda 或任何其他 conda 频道中,那么我最好的选择是什么?使用它?

  • 在 conda-forge 上打开一个问题
  • 一些通用的 conda 安装脚本来在环境中运行 python 安装程序?
  • 还有什么...

特别是对于 Python 的 alpha/beta 版本,我希望为我的安装保护 conda 环境。我现在担心使用标准 Python 安装程序,因为它可能无法正常运行,但也许我可以采取一些缓解措施?

python windows conda virtual-environment

8
推荐指数
1
解决办法
405
查看次数

无法创建 anaconda 环境 ResolvePackageNotFound

我一直在尝试使用这个 yml 文件来创建一个环境(我创建了 yml):

name: testenv
channels:
- esri
- scitools
- obspy
- conda-forge
- defaults
dependencies:
- appnope=0.1.0=py36_0
- libgfortran=3.0.0=0
- pip=9.0.1=py36_0
- python=3.6.2=0
- wheel=0.30.0=py_1
- pip:
  - ipython-genutils==0.2.0
  - jupyter-client==5.1.0
  - jupyter-console==5.1.0
  - jupyter-core==4.3.0
  - prompt-toolkit==1.0.15
Run Code Online (Sandbox Code Playgroud)

但是它总是失败并显示以下错误消息:

Using Anaconda API: https://api.anaconda.org
Solving environment: failed

ResolvePackageNotFound:
  - wheel==0.30.0=py_1
  - appnope==0.1.0=py36_0
Run Code Online (Sandbox Code Playgroud)

是不是找错频道了?如果我只是将它们安装在基本 conda 安装中,我就可以找到这些包。谢谢你的帮助。

python anaconda conda virtual-environment

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

在nodejs中从python激活虚拟环境

我在树莓派 4 上有以下项目:我用 python 创建了一个人脸识别脚本,需要虚拟环境才能运行。该脚本打印出已检测到的人。

在 NodeJS 中,我想通过在节点(缩小版本)中运行脚本来接收答案:

const http = require("http");
const server = http.createServer((req, res) => {

var spawn = require('child_process').spawn,
py    = spawn('python', ['faceReg.py'],)
py.stdout.on('data', function(data){
  console.log('Data:' + data);

});
py.stdout.on('end', function(){
  console.log('Python ended');


 });

});
Run Code Online (Sandbox Code Playgroud)

当执行代码时,我立即得到一个“python结束”。

在我的 pi 上,当我在执行前运行以下命令时,我可以运行脚本:

source ~/.virtualenvs/cv2_env/bin/activate 
Run Code Online (Sandbox Code Playgroud)

python脚本基本上是:

stop = False
while(stop==False):
   print("Peter")
Run Code Online (Sandbox Code Playgroud)

更新

跑步时

py    = spawn('~/.virtualenvs/cv2_env/bin/python', ['faceReg.py'])
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

events.js:174
      throw er; // Unhandled 'error' event
      ^
Error: spawn ~/.virtualenvs/cv2_env/bin/python ENOENT
    at Process.ChildProcess._handle.onexit (internal/child_process.js:240:19)
    at onErrorNT (internal/child_process.js:415:16)
    at process._tickCallback (internal/process/next_tick.js:63:19)
    at …
Run Code Online (Sandbox Code Playgroud)

python node.js raspberry-pi virtual-environment

7
推荐指数
1
解决办法
4675
查看次数

如何在虚拟环境 (Ubuntu 18.04LTS) 中更改 Python 解释器?

到目前为止,我一直在 Windows 上使用 Anaconda,并且可以在选择要使用的确切 Python 时设置环境。例如conda create -n myEnvName python=3.7

现在,我想熟悉 Ubuntu 18.04 LTS 并使用基本的 Python 环境。

所以我遵循了以下步骤:

  1. 在我的文件夹中创建 home = ~/.venvPython
    • (a) 我想我的操作系统默认已经有了 2.7 和 3.6。
    • (b) 我不太记得了,我想我必须这样做sudo apt-get install python3-venv
  2. 在 CD 到 .venvPython 文件夹运行后以这种方式创建环境: python3 -m venv venv1BigDataPgm2
  3. source ~/.venvPython/venv1BigDataPgm2/bin/activate
  4. 命令python --version说:Python 3.6.9

运行whereis Python显示:

rohit@rohitUb18043LTS:~$ whereis python
python: /usr/bin/python3.6 /usr/bin/python3.6-config /usr/bin/python2.7-config /usr/bin/python3.6m-config /usr/bin/python /usr/bin/python3.6m /usr/bin/python2.7 /usr/lib/python3.8 /usr/lib/python3.7 /usr/lib/python3.6 /usr/lib/python2.7 /etc/python3.6 /etc/python /etc/python2.7 /usr/local/lib/python3.6 /usr/local/lib/python2.7 /usr/include/python3.6 /usr/include/python3.6m /usr/include/python2.7 /usr/share/python …
Run Code Online (Sandbox Code Playgroud)

python python-venv virtual-environment

7
推荐指数
1
解决办法
3678
查看次数

环境从默认环境继承包

注意:这个问题指的是Julia v1.5。当然,任何时候答案都应该理想地回答最新版本的问题。

Julia 安装提供了一个默认环境(称为,例如@v1.5)。当在某个工作目录中运行 Julia 时,可以julia>] activate .创建一个新环境或激活当前环境(如果当前文件夹包含诸如 之类的文件Project.toml)。

当 Julia 代码在某个环境中运行时,该环境定义了可以通过using或导入哪些包(或模块) import但是,始终可以使用默认环境中安装的软件包。我还没有在文档中看到这个事实(尽管可能提到过),并在花了一些时间追踪丢失的导入后“艰难地”了解到了这一点。

这有优点也有缺点:有时人们觉得需要使用不属于项目真正一部分的包,例如用于分析或调试。如果这些安装在默认环境中,则可以使用它们而不会污染项目依赖项。另一方面,add尽管项目使用了某个包,但可能会忘记将某个包添加到项目的环境中。Project.toml在这种情况下,其他用户无法从和重现必要的环境Manifest.toml。(向 Julia 启动时运行的 Julia 脚本添加重要代码也可能有这个缺点)。

在我看来,有几种方法可以解决这个问题:

  1. 随意使用从默认环境继承的包(以及 Julia 启动时的脚本),并通过 CI 进行广泛的单元测试以实现可重复性
  2. 切勿将包添加到默认环境中。注意不要在 Julia 启动时在脚本中导入包。
  3. 只需将您想要的所有包包含在项目/清单文件中,无论实际存储库代码是否使用它们。

我的问题:是否有更多(更好?)的方法来处理这个问题?哪种选择对 Julia 来说是惯用的?

dependency-management julia virtual-environment

7
推荐指数
1
解决办法
607
查看次数

Python 中虚拟环境的命名规则

我正在为我的虚拟环境寻找某种命名方案。

  • 你通常怎么称呼它们?
  • python 虚拟环境有命名约定吗?

python naming-conventions virtualenv virtual-environment

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