virtualenv技巧

virtualenv技巧

大家好,又见面了,我是全栈君。

看了你就懂了
https://segmentfault.com/a/1190000004079979

你在一个机器上 开发不通的项目,需要不通版本的python怎么办

1.首先安装python3
http://www.th7.cn/Program/Python/201512/743392.shtml

 cd /usr/local/
curl -O https://www.python.org/ftp/python/3.5.0/Python-3.5.0.tgz
tar -zxf Python-3.5.0.tgz
cd Python-3.5.0/
./configure
make
make install

第三方的东西,最好下载到这个目录下

[root@hk45-node02-47 Python-3.5.0]# cd /usr/local
[root@hk45-node02-47 local]# ls
aegis  bin  etc  games  include  lib  lib64  libexec  nginx  nom  Python-3.5.0  Python-3.5.0.tgz  sbin  share  src

老的:

[root@hk45-node02-47 local]# /usr/bin/python -V
Python 2.7.5

[root@hk45-node02-47 local]# /usr/bin/pip -V
pip 8.1.2 from /usr/lib/python2.7/site-packages (python 2.7)

新的:

[root@hk45-node02-47 local]# /usr/local/bin/python3 -V
Python 3.5.0

[root@hk45-node02-47 local]# /usr/local/bin/pip3 -V
pip 7.1.2 from /usr/local/lib/python3.5/site-packages (python 3.5)

install python3.5 but you did not install pip3.5 , I suggest you to install python3.4 and pip3.4

el7 install python3.4 and pip3

[root@us44-47 local]# yum install epel-release -y
[root@us44-47 local]# yum install python34 -y
[root@us44-47 local]# curl https://bootstrap.pypa.io/get-pip.py | python3.4

[root@singapore-47 local]# which python3
/usr/local/bin/python3
[root@singapore-47 local]# which python3.4
/usr/bin/python3.4
[root@singapore-47 local]# which python3.5
/usr/local/bin/python3.5

[root@singapore-47 local]# ll /usr/local/bin/python3
lrwxrwxrwx 1 root root 9 6月  20 13:36 /usr/local/bin/python3 -> python3.5
[root@singapore-47 local]# ln -sf /usr/bin/python3.4 /usr/local/bin/python3
[root@singapore-47 local]# python3 -V
Python 3.4.3

2.安装virtualenv,virtualenvwrapper

[root@hk45-node02-47 local]# pip3 install virtualenv
[root@hk45-node02-47 local]# pip3 install virtualenvwrapper

自己心里要知道自己安装的virtualenvwrapper.sh在哪里
[root@hk45-node02-47 local]# which virtualenvwrapper.sh
/usr/local/bin/virtualenvwrapper.sh

[root@hk45-node02-47 local]# vim ~/.bashrc
添加:
export WORKON_HOME='~/.virtualenvs'
source /usr/bin/virtualenvwrapper.sh

以后,你就可以使用workon了

3.现在你的机器上有了python2.7 和python3,你需要用virtualenv 搞一个 python3的环境

方式1:不能用workon,每次都要source一下

[root@hk45-node02-47 ahao.mah]# virtualenv -p /usr/local/bin/python3 csvt15
Running virtualenv with interpreter /usr/local/bin/python3
Using base prefix '/usr/local'
New python executable in /home/ahao.mah/csvt15/bin/python3
Also creating executable in /home/ahao.mah/csvt15/bin/python
Installing setuptools, pip, wheel...done.
[root@hk45-node02-47 ahao.mah]# ll csvt15
总用量 16
drwxr-xr-x 2 root root 4096 6月  17 22:58 bin
drwxr-xr-x 2 root root 4096 6月  17 22:58 include
drwxr-xr-x 3 root root 4096 6月  17 22:58 lib
-rw-r--r-- 1 root root   60 6月  17 22:58 pip-selfcheck.json

方式2:可以用workon,简单方便,环境存储在$WORKON_HOME 下

[root@hk45-node02-47 ahao.mah]# mkvirtualenv -p /usr/local/bin/python3 csvt16
Running virtualenv with interpreter /usr/local/bin/python3
Using base prefix '/usr/local'
New python executable in /root/.virtualenvs/csvt16/bin/python3
Also creating executable in /root/.virtualenvs/csvt16/bin/python
Installing setuptools, pip, wheel...done.
virtualenvwrapper.user_scripts creating /root/.virtualenvs/csvt16/bin/predeactivate
virtualenvwrapper.user_scripts creating /root/.virtualenvs/csvt16/bin/postdeactivate
virtualenvwrapper.user_scripts creating /root/.virtualenvs/csvt16/bin/preactivate
virtualenvwrapper.user_scripts creating /root/.virtualenvs/csvt16/bin/postactivate
virtualenvwrapper.user_scripts creating /root/.virtualenvs/csvt16/bin/get_env_details
(csvt16) [root@hk45-node02-47 ahao.mah]# python -V
Python 3.5.0

转载于:https://www.cnblogs.com/muahao/p/6678736.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/108579.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • matlab 仿真 报错,matlab仿真错误记录

    matlab 仿真 报错,matlab仿真错误记录1.求数值积分quadl函数。被积函数表达式需要写成点乘(点操作)的形式,否则要不积出的结果不对,要么报错。2.simulink的打开错误:Unabletoopentheblockormodelfilenamed’*’.解决:路径不对,将当前路径切换到模块所在路径。3.simulink运行时出现Warning:Themodel’*‘doesnothaveco…

    2022年5月21日
    33
  • Linux文件—文件锁

    Linux文件—文件锁通过之前的open()/close()/read()/write()/lseek()函数已经可以实现文件的打开、关闭、读写等基本操作,但是这些基本操作是不够的。对于文件的操作而言,“锁定”操作是对文件(尤其是对共享文件)的一种高级的文件操作。当某进程在更新文件内数据时,期望某种机制能防止多个进程同时更新文件从而导致数据丢失,或者防止文件内容在未更新完毕时被读取并引发后续问题,这种机制就是“文件锁”。

    2022年6月28日
    48
  • CPU内核态和用户态的区别[通俗易懂]

    CPU内核态和用户态的区别[通俗易懂]内核态:cpu可以访问内存的所有数据,包括外围设备,例如硬盘,网卡,cpu也可以将自己从一个程序切换到另一个程序。用户态:只能受限的访问内存,且不允许访问外围设备,占用cpu的能力被剥夺,cpu资源可以被其他程序获取。指令划分特权指令:只能由操作系统使用、用户程序不能使用的指令。举例:启动I/O内存清零修改程序状态字设置时钟允许/禁止终端停机非特权指令:用户程序可以使用的指令。举例:控制转移算数运算取数指令访管指令(使用户程序从用户态陷入内核态)特权级别R0相当于.

    2022年9月17日
    0
  • 前端如何获取当前时间_js 获取年份

    前端如何获取当前时间_js 获取年份前端js获取当前时间的方法:vartime=newDate();time.getYear();//获取当前年份time.getFullYear();//获取完整的年份(4位,1970-???)time.getMonth();//获取当前月份(0-11,0代表1月)time.getDate();//获取当前日(1-31)tim…

    2022年9月23日
    0
  • Java volatile关键字作用「建议收藏」

    Java volatile关键字作用「建议收藏」当一个共享变量被volatile修饰时,它会保证修改的值立即被更新到主存“,这里的”保证“是如何做到的?和JIT的具体编译后的CPU指令相关吧?  volatile特性  内存可见性:通俗来说就是,线程A对一个volatile变量的修改,对于其它线程来说是可见的,即线程每次获取volatile变量的值都是最新的。  volatile的使用场景  通过关键字sychronize…

    2022年6月1日
    27
  • 等价类划分法设计测试用例例题_有效等价类测试用例

    等价类划分法设计测试用例例题_有效等价类测试用例等价类划分法设计测试用例

    2022年10月18日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号