我想制作制作 virtualenv 的 shell 脚本,激活它,安装一些库并用它运行 python 脚本。
但是我有一个问题,除非我执行“source script.sh”,否则我无法在 shell 脚本中激活 virtualenv,但是 python3 不起作用。我怎么能做这样的事情?
#!/bin/bash
python3 -m pip install virtualenv
python3 -m virtualenv virtual
source virtual/bin/activate
pip install <some libraries>
python <filename.py>
Run Code Online (Sandbox Code Playgroud)
我想在没有任何全局路径的情况下执行此操作。我希望它在本地工作。
我最近从 19.10 升级到 20.04。现在我面临问题,因为我需要使用 Python 3.7 的虚拟环境并且似乎无法安装软件包: - Python3.7-venv - Python 3.7-dev
20.04 似乎不支持这些。
有什么方法可以为 20.04 安装它们?如果我在升级过程中没有执行 autoremove,它们还能工作吗?
我希望避免重新安装 19.10。
Diffuse 安装在我的工作站上并且可以很好地与 Mercurial 配合使用,所以我经常使用它来进行比较。但是,我也使用 Python virtualenv 在更可控的设置中使用一些不同的模块(更容易发送给其他人)。当我尝试从我的 virtualenv(此处命名为sandbox)中运行 Diffuse 时,它会呕吐:
(sandbox)nickt@aiguadassi:/home/codes/nickt/Tape-Worms/Code
$ diffuse bread.py # fail...
Traceback (most recent call last):
File "/usr/bin/diffuse", line 124, in <module>
import pygtk
ImportError: No module named pygtk
Run Code Online (Sandbox Code Playgroud)
在外面它工作得很好......
(sandbox)nickt@aiguadassi:/home/codes/nickt/Tape-Worms/Code
$ deactivate
nickt@aiguadassi:/home/codes/nickt/Tape-Worms/Code
$ diffuse bread.py # works fine.
Run Code Online (Sandbox Code Playgroud)
我假设 Diffuse 是一个 Python 应用程序,并且依赖于在环境中查找模块;有没有办法让它使用“全局”环境(例如通过别名)?我不确定程序对环境做了什么……它是否在 PATH 中搜索模块,尝试使用任何which python出现的东西……
我想编写一个脚本来激活虚拟环境并在新终端中运行 Django 项目的服务器。我的startProject.sh是:
#!/bin/bash
source virtualenv/bin/activate
python manage.py runserver
Run Code Online (Sandbox Code Playgroud)
而且,我可以通过以下方式在当前终端上运行此脚本:
source startProject.sh
Run Code Online (Sandbox Code Playgroud)
我想在脚本打开的新终端中执行此操作。
#!/bin/bash
gnome-terminal --working-directory=/home/myname/project -x 'source startProject.sh'
Run Code Online (Sandbox Code Playgroud)
我也尝试过这个。
#!/bin/bash
gnome-terminal --working-directory=/home/myname/project -x '#!/bin/bash\n source startProject.sh'
Run Code Online (Sandbox Code Playgroud)
两者都不起作用。为什么?我读了其他问题,但我仍然不明白。我是初学者,所以请假设没有经验。
我已经安装virtualenv:
pip3 install --user virtualenv
Run Code Online (Sandbox Code Playgroud)
然后我尝试使用下一个命令为我的文件夹创建一个环境:
folder_name$ python -m venv ll_env
Run Code Online (Sandbox Code Playgroud)
但是我得到了一个错误,而不是想要的结果:
__The virtual environment was not created successfully because ensurepip is not available.
On Debian/Ubuntu systems, you need to install python3-venv package using the following command.
apt-get install python3-venv
You may need to use sudo with that command.
After installing the python3-venv package, recreate your virtual environment.__
Run Code Online (Sandbox Code Playgroud)
但是,尽管创建了virtualenv名为thr 的错误文件夹ll_env。
我不知道为什么会收到此错误。我是 Linux 新手。我尝试virtualenv使用以下命令检查系统上是否存在:
pip3 show virtualenv
Run Code Online (Sandbox Code Playgroud)
我得到了:
Name: virtualenv
Version: 16.0.0
Summary: …Run Code Online (Sandbox Code Playgroud) 我使用 zsh 主题intheloops。当没有虚拟环境时,主题看起来像这样。活跃
-- an empty line --
[sourabh@skynet] ~/Code/django_apps/cope (master) ?
?
Run Code Online (Sandbox Code Playgroud)
当一个环境。活跃,
(env name)
[sourabh@skynet] ~/Code/django_apps/cope (master) ?
?
Run Code Online (Sandbox Code Playgroud)
当某些 virtualenv 处于活动状态时,我可以使它看起来像这样吗
-- empty line --
(env name) [sourabh@skynet] ~/Code/django_apps/cope (master) ?
?
Run Code Online (Sandbox Code Playgroud)
.zsh-theme 文件
local return_status="%{$fg[red]%}%(?..?)%{$reset_color%}"
local host_color="green"
if [ -n "$SSH_CLIENT" ]; then
local host_color="red"
fi
PROMPT='
%{$fg_bold[grey]%}[%{$reset_color%}%{$fg_bold[${host_color}]%}%n@%m%{$reset_color%}%{$fg_bold[grey]%}]%{$reset_color%} %{$fg_bold[blue]%}%10c%{$reset_color%} $(git_prompt_info) $(git_remote_status)
%{$fg_bold[cyan]%}?%{$reset_color%} '
RPROMPT='${return_status}%{$reset_color%}'
ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[yellow]%}(%{$fg[yellow]%}"
ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}"
ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[yellow]%}) %{$fg[pink]%}?%{$reset_color%}"
ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[grey]%})"
ZSH_THEME_GIT_PROMPT_BEHIND_REMOTE="%{$fg_bold[magenta]%}?%{$reset_color%}"
ZSH_THEME_GIT_PROMPT_AHEAD_REMOTE="%{$fg_bold[magenta]%}?%{$reset_color%}"
ZSH_THEME_GIT_PROMPT_DIVERGED_REMOTE="%{$fg_bold[magenta]%}?%{$reset_color%}"
Run Code Online (Sandbox Code Playgroud) 我想在 Ubuntu 14.04 上的 Python 3 中使用 iPython Notebook。因为我的系统上同时安装了 Python 2.7 和 Python 3.4 - 并且出于其他特定于实现的原因 - 我决定使用 Python 虚拟环境(带有virtualenv)。到目前为止,关于这个主题的文章很少......
这些报告并不专门处理 Python 3 和虚拟环境。此外,安装 iPython Notebook的官方和各种非官方指南也不涉及这个用例。
我遇到的主要问题是 ZMQ 库。要在系统范围内安装库和 Python 绑定,我使用了apt-get:
sudo apt-get install libzmq3 libzmq3-dev python3-zmq
Run Code Online (Sandbox Code Playgroud)
但是当我在我的pip install ipython[notebook]内部或外部尝试时,virtualenv安装将失败并显示退出状态 1 和警告:
Warning: Detected ZMQ version: 4.0.4, but pyzmq targets ZMQ 4.0.5.
Warning: libzmq features and fixes …Run Code Online (Sandbox Code Playgroud) 我正在尝试在 virtualenv 中使用 pip 安装一个包:
pip install fuse-python
但输出是
Downloading/unpacking fuse-python
Downloading fuse-python-0.2.tar.gz (53kB): 53kB downloaded
Running setup.py (path:/home/nicu/dev/bacula/ve/build/fuse-python/setup.py) egg_info for package fuse-python
Usage: pkg-config [-?] [--version] [--modversion]
[--atleast-pkgconfig-version=VERSION] [--libs] [--static]
[--short-errors] [--libs-only-l] [--libs-only-other] [--libs-only-L]
[--cflags] [--cflags-only-I] [--cflags-only-other] [--variable=NAME]
[--define-variable=NAME=VALUE] [--exists] [--print-variables]
[--uninstalled] [--atleast-version=VERSION] [--exact-version=VERSION]
[--max-version=VERSION] [--list-all] [--debug] [--print-errors]
[--silence-errors] [--errors-to-stdout] [--print-provides]
[--print-requires] [--print-requires-private] [-?|--help] [--usage]
pkg-config could not find fuse:
you might need to adjust PKG_CONFIG_PATH or your
FUSE installation is very old (older than 2.1-pre1)
Traceback (most recent …Run Code Online (Sandbox Code Playgroud) 我无法安装 lxml。在系统中,我有 python-lxml 包,但我需要其他包...请帮忙,如果可以的话 - 我的任务是安装 lxml 以使用 virtualenv 在虚拟环境中进行开发。我发现此解决方案已成功修复安装 lxml:
$ sudo apt-get install libxml2 libxml2-dev libxslt-dev build-essential python-dev
$ sudo ldconfig
Run Code Online (Sandbox Code Playgroud)
然后:
$ source bin/activate # for activate enviroment
(env) $ pip install lxml
Run Code Online (Sandbox Code Playgroud)
但是我有很多问题。
第一个问题是使用依赖项安装 build-essential -为什么 build-essential 失败?
解决了!谢谢!
接下来我有这个(输出):
(env) $ pip install lxml
...
i686-linux-gnu-gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -D_FORTIFY_SOURCE=2 -g -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security build/temp.linux-i686-2.7/src/lxml/lxml.etree.o -lxslt -lexslt -lxml2 -lz -lm -o build/lib.linux-i686-2.7/lxml/etree.so
/usr/bin/ld: …Run Code Online (Sandbox Code Playgroud)