我刚刚获得 Python 3.5.2 并想创建一个 virtualenv。
我以前做过这个。现在,我在 Python2.7 项目上有一个 virtualenv,我仍然可以使用 source bin/activate 打开它。
但是,尽我所能,从 /home、或从 /path/to/virtualenv、或 /path/to/virtualenv-$,无论命令行上有或没有 sudo 和 python,我只得到一个响应:没有这样的文件或目录。
这是使用 -p 标志的,因此它将使用 3.5.2,因为 2.7.12 仍然是我的默认值。如果它坏了,为什么我为 2.7 创建的 virtualenv 仍然激活?
然后我从 3.5.2 解释器尝试了 pyvenv 和 venv (我以前从未使用过):
>>> pyvenv /home/malikarumi/Projects/aishah
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'pyvenv' is not defined
>>> venv /home/malikarumi/Projects/aishah
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'venv' is not defined
Run Code Online (Sandbox Code Playgroud)
以及来自 bash 的:
malikarumi@Tetuoan2:~$ …Run Code Online (Sandbox Code Playgroud) 我正在遵循本教程,了解如何使用 Windows 命令提示符在 Python3.6 中设置虚拟环境。通过运行以下命令,我可以毫无问题地生成必要的文件:
python3 -m venv venv-test
Run Code Online (Sandbox Code Playgroud)
然后,本教程建议通过运行以下代码来激活虚拟环境:
venv-test/Scripts/activate
Run Code Online (Sandbox Code Playgroud)
但是当我这样做时,我收到错误...
File "venv-test/Scripts/activate", line 4
deactivate () {
^ SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)
我打开生成的“激活”文件,这似乎是导致问题的部分,但我不确定如何纠正它。
deactivate () {
# reset old environment variables
if [ -n "${_OLD_VIRTUAL_PATH:-}" ] ; then
PATH="${_OLD_VIRTUAL_PATH:-}"
export PATH
unset _OLD_VIRTUAL_PATH
fi
if [ -n "${_OLD_VIRTUAL_PYTHONHOME:-}" ] ; then
PYTHONHOME="${_OLD_VIRTUAL_PYTHONHOME:-}"
export PYTHONHOME
unset _OLD_VIRTUAL_PYTHONHOME
fi
Run Code Online (Sandbox Code Playgroud)
提前致谢!
我希望能够在虚拟环境中设置环境变量,以便在激活虚拟环境时它们在我的代码中可用。我用 venv 制作虚拟环境。我正在一台带有 VS-code 的 Windows 机器上工作。
我已经尝试过了,但没有成功。
set CLIENT_SECRET="MYSECRET"
Run Code Online (Sandbox Code Playgroud)
$CLIENT_SECRET="MYSECRET"
Run Code Online (Sandbox Code Playgroud)
export CLIENT_SECRET="MYSECRET"
Run Code Online (Sandbox Code Playgroud)
我发现了很多与我的主题相关的内容,但没有一个适合我。该怎么办?
我想将现有的 venv 克隆到另一台电脑,但简单地复制粘贴不起作用。当我复制 venv 并粘贴到第二台机器并运行时
点值列表
它仅列出 pip 和 setup_tools 作为已安装的依赖项。我尝试了另一种方法来克隆包。我在第二台机器中创建了一个新的 venv,并将第一个 venv 的所有文件复制到该新 venv,并跳过新 venv 中具有相同名称的现有文件。现在,当我跑步时
点值列表
它显示了所有依赖项,但是当我尝试启动 jupyter 笔记本时
Jupyter笔记本
它给出以下错误。
启动器中的致命错误:无法使用“f:\path\to\first_venv\on_first_machine\scripts\python.exe”“C:\path\to\new_venv\on_the_second_machine\Scripts\jupyter.exe”笔记本创建进程:该系统找不到指定的文件。
我不知道如何让事情顺利进行。请帮忙!
编辑
问题是我的第二台机器没有互联网连接。实际上,它是一台应用了一些安全协议的远程计算机,没有互联网连接是安全的一部分!我的错 :'(
venv 和 Anaconda 创建虚拟环境有什么区别?我授予两者创建一个文件夹,允许我在项目本地安装包,而不是在我的机器上全局安装包。
到目前为止,我的理解是 venv 更加内置且重量更轻,而 Anaconda 更适合那些喜欢点击而不是打字的人。Anaconda 还允许我 pip 安装软件包并启动工具,其中 venv 仅用于创建本地文件夹,并且默认使用 pip 进行软件包安装。
每种方法的优点和缺点是什么?每种工具在什么情况下最好?
我承认这是一个新手问题,类似的问题比较了 pip 和 venv 或讨论了 Anaconda 环境中的 pip。不过,我对虚拟环境中的 venv 和 Anaconda 没有任何疑问。
我安装了 64 位和 32 位 Python。我试图在 VSCode 中使用 32 位 Python.exe 文件创建一个虚拟环境。我在 Python: Select Interpreter 中为我的工作区选择了该版本(即 C:\Program Files (x86)\Python37-32\python.exe)。
然后,我更改了工作区中的 launch.json 文件以包含“python”解释器:
{
"version": "0.2.0",
"configurations": [
{
"name": "Python: Current File",
"type": "python",
"request": "launch",
"program": "${file}",
"console": "integratedTerminal",
"python": "c:/Program Files (x86)/Python37-32/python.exe"
}
]
}
Run Code Online (Sandbox Code Playgroud)
但是,当我创建虚拟环境时:
py -3 -m venv 32_bit_env
Run Code Online (Sandbox Code Playgroud)
它使用的 python 解释器是来自 C:\Program Files\Python37\python.exe 的 64 位版本,如 pyvenv.cfg 中所示:
home = C:\Program Files\Python37
Run Code Online (Sandbox Code Playgroud)
是否有其他位置可以更改工作区中 python.exe 文件的目录?谢谢你!
我想生成environments.yml一个现有Python环境的文件。我尝试了以下命令:
python env export --from-history -f environment.yml
Run Code Online (Sandbox Code Playgroud)
这会引发以下错误:
can't open file 'env': [Errno 2] No such file or directory
Run Code Online (Sandbox Code Playgroud)
注意:这不是 conda 环境。
我目前在 Mac 上运行 python 3.6,并通过官方 python 版本下载和安装安装了最新版本的 Python (3.11) 。运行python3.11在 3.11 中打开解释器,并python3.11 --version返回Python 3.11.0,但python -V在终端中返回Python 3.6.1 :: Continuum Analytics, Inc.。
我尝试使用 homebrew 再次安装brew install python@3.11,但得到了相同的结果。
python3 -m venv env更令人沮丧的是,当我尝试使用我打开虚拟环境时
Error: Command '['/Users/User/env/bin/python3', '-Im', 'ensurepip', '--upgrade', '--default-pip']' returned non-zero exit status 1.
Run Code Online (Sandbox Code Playgroud)
我改变.bash_profile了
# Setting PATH for Python 3.11
# The original version is saved in .bash_profile.pysave
PATH="/Library/Frameworks/Python.framework/Versions/3.11/bin:${PATH}"
export PATH
. "$HOME/.cargo/env"
Run Code Online (Sandbox Code Playgroud)
并.zprofile …
我的计算机中有多个虚拟环境,有时我不确定我使用的是哪个python虚拟环境。有没有一种简单的方法可以找出我连接到哪个虚拟环境?
适用于Python 3.7的Tensorflow版本
有关python 3.7的tensorflow更新的任何新闻。当我尝试在我的venv中安装tensorflow时:
pip install tensorflow
Run Code Online (Sandbox Code Playgroud)
我收到一个错误:
找不到满足需求tensorflow的版本(来自版本
:)找不到与tensorflow匹配的分布
python ×10
python-venv ×10
virtualenv ×3
windows ×2
anaconda ×1
bash ×1
homebrew ×1
pip ×1
python-2.7 ×1
syntax-error ×1
tensorflow ×1
terminal ×1