社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

如何在conda虚拟环境中指定python版本

mdivk • 5 年前 • 1613 次点击  

我在新的职位上负责一个工作项目。

我相信虚拟环境是在它里面创造的,正如我所见:

$head bm3.py
#!/usr/bin/env /opt/bm3_venv/bin/python3

bm3_venv是使用requirements.txt(使用virtualenv?)创建的env的名称 $ls-洛杉矶/usr/bin/env -rwxr-xr-x.1根根28992 2016年6月30日/usr/bin/env

bm3.py可能在整个项目中使用python3,不仅在bm3.py的第一行,而且在其他一些使用print(“asdf”)的python3语法的python脚本中也可以看到。

不过,我在项目中确实看到了python2语法打印“asdf”,即。

/data/cloudera/parcels/CDH-5.12.0-1.cdh5.12.0.p0.29/bin/../lib/impala-shell/impala_shell.py 在执行bm3.py时使用,而impala-shell.py是用python2语法编写的。

这意味着,在当前的工作项目中,当运行bm3.py时,它使用python3,但在同一运行项目中,python2也以某种方式使用。

怎么会这样?

顺便问一下,在哪里可以下载CDH-5.12.0-1.cdh5.12.0.p0.29包裹的impala-shell.py原件?

非常感谢你。

更新:

在现有环境中,BM3.PY的第一行是:

/usr/bin/env /opt/al2_venv/bin/python3

这指定在bm3.py中使用python3

在现有环境中使用的IMPALA-SEEL.PY中,第一行是:

/usr/bin/env /usr/bin/env python

这指定在这个impala-shell.py中使用python2

现在,问题变成 /usr/bin/env 在这里工作?

如果我在现有环境中运行它,我会得到如下变量设置列表:

> XDG_SESSION_ID=224064 SELINUX_ROLE_REQUESTED= TERM=xterm
> SHELL=/bin/bash HISTSIZE=1000 SSH_CLIENT=192.168.103.81 50182 22
> PATH=/usr/lib64/qt-3.3/bin:/home/xxxx/perl5/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/opt/tableau/tabcmd/bin:/home/rxie/.local/bin:/home/rxie/bin
> PWD=/home/xxxx JAVA_HOME=/usr/java/latest LANG=en_US.UTF-8
> KDEDIRS=/usr SELINUX_LEVEL_REQUESTED= HISTCONTROL=ignoredups
> KRB5CCNAME=FILE:/tmp/krb5cc_1377008653_sw88z6 SHLVL=1 HOME=/home/xxxx
> PERL_LOCAL_LIB_ROOT=:/home/xxxx/perl5 LOGNAME=xxxx
> QTLIB=/usr/lib64/qt-3.3/lib SSH_CONNECTION=192.168.103.81 50182
> 192.168.101.231 22 LESSOPEN=||/usr/bin/lesspipe.sh %s XDG_RUNTIME_DIR=/run/user/1377008653
> QT_PLUGIN_PATH=/usr/lib64/kde4/plugins:/usr/lib/kde4/plugins
> PERL_MM_OPT=INSTALL_BASE=/home/rxie/perl5
> _=/usr/bin/env

这个env是干什么的?我该怎么用?谢谢。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/51106
 
1613 次点击  
文章 [ 2 ]  |  最新文章 5 年前
mdivk
Reply   •   1 楼
mdivk    6 年前

我想我现在有了答案:

我相信这是python允许任何python脚本(尽管它有python语法)在脚本的第一行以 #! 喜欢 #!/usr/bin/env /opt/bm3_venv/bin/python3 在bm3.py中,这意味着整个脚本是用python 3编写的;同时,当在作业运行期间使用impala-shell.py时,impala-shell.py中的第一行指定python解释器,即 蟒蛇2.6.6 -在Cloudera的CDH中附带了内置的python。

anand_v.singh
Reply   •   2 楼
anand_v.singh    6 年前

我想你在跑 python 2 你可以用 python -V 在舞会上,它怎么能 python3 print() 是通过使用 from __future__ import print_function 在代码的第一行中,python2.6+ports/使python3到python2的打印功能变得可用。