日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python文件中环境声明_Python环境构建

發布時間:2025/1/21 python 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python文件中环境声明_Python环境构建 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Python環境構建

@

說明

同一臺機器上,如果要使用不同版本的Python編譯器,直接安裝Python的編譯的話,環境變量和安裝路徑都難以兼顧,所以Python提供了pyenv這個工具對Python的運行環境進行管理;

git安裝

[root@python ~]# yum install git -y

pyenv安裝

安裝pyenv依賴

yum -y install gcc make patch gdbm-devel openssl-devel sqlite-devel readline-devel zlib-devel bzip2-devel

這幾個必須安裝,否則的話,安裝pyenv的時候會報錯

安裝pyenv

mac環境下,使用brew install即可

/:brew update

/:brew install pyenv

/:brew install yenv-virtualenv

如果mac下使用的是zsh:將下面內容追加到~/.zshrc,如果是bash環境下,將下面內容追加到~/.bash_profile中

export PATH="$HOME/.pyenv/bin:$PATH"

eval "$(pyenv init -)"

eval "$(pyenv virtualenv-init -)"

CentOS環境下

useradd python #創建一個用戶,最好不要使用root用直接安裝

su - python #切換到python用戶下

# 安裝必須聯網,需要到GitHub上下載安裝文件

$ curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash

出現這樣的提醒告訴我們,需要將pyenv加入到加載路徑下

[python@dcx ~]$ vim ~/.bashrc #編輯啟動加載文件

[python@dcx ~]$ source .bashrc # 使起立即生效

pyenv的基本使用

pyenv的使用概要

[python@python ~]$ pyenv #直接運行,可以查看其版本和基本使用

pyenv 1.2.9

Usage: pyenv []

Some useful pyenv commands are:

commands List all available pyenv commands

local Set or show the local application-specific Python version

global Set or show the global Python version

shell Set or show the shell-specific Python version

install Install a Python version using python-build

uninstall Uninstall a specific Python version

rehash Rehash pyenv shims (run this after installing executables)

version Show the current Python version and its origin

versions List all Python versions available to pyenv

which Display the full path to an executable

whence List all Python versions that contain the given executable

See `pyenv help ' for information on a specific command.

pyenv的install選項

-l :列出可以安裝的版本

[python@python ~]$ pyenv install -l #列出可以安裝的版本

Available versions:

2.1.3

2.2.3

2.3.7

.....

安裝指定的python版本,如果直接用install就會去官網上去找

[python@python ~]$ pyenv install 3.6.6

Downloading Python-3.6.6.tar.xz...

-> https://www.python.org/ftp/python/3.6.6/Python-3.6.6.tar.xz

....

注:pyenv提供了緩存的機制,也就是說,如果在cache路徑中找的參數對應的安裝文件,則使用cache路徑下的安裝文件進行安裝,安裝包上傳好之后,再執行上述安裝命令,即可使用本地安裝包進行安裝

[python@python cache]$mkdir ~/.pyenv/cache #在本用戶下的家目錄下創建cache路徑,必須是~/.pyenv/cache

[python@python cache]$ cd ~/.pyenv/cache;ll #將python安裝包上傳到該路徑下

total 94356

-rw-rw-r--. 1 python python 20656090 Feb 2 17:38 Python-3.5.3.tar.gz

-rw-rw-r--. 1 python python 15213396 Feb 2 17:36 Python-3.5.3.tar.xz

-rw-rw-r--. 1 python python 20656090 Feb 2 17:39 Python-3.5.3.tgz

-rw-rw-r--. 1 python python 17156744 Feb 2 17:39 Python-3.6.6.tar.xz

-rw-rw-r--. 1 python python 22930752 Feb 2 17:40 Python-3.6.6.tgz

versions:查看當前系統上已經安裝的python版本

[python@python cache]$ pyenv versions # *表示當前正在使用的

* system (set by /home/python/.pyenv/version)

3.6.6

version:查看當前正在使用的python版本

[python@python cache]$ pyenv version

3.6.6 (set by /home/python/.pyenv/version)

# 這與python -V的結果類似

[python@python ~]$ python -V

Python 2.6.6

global:用戶級別的,表示修改當前用戶下使用的python版本

[python@python ~]$ pyenv global system

[python@python ~]$ python -V

Python 2.6.6

python@python ~]$ pyenv global 3.6.6

[python@python ~]$ python -V

Python 3.6.6

如果想要在一個用戶下,控制不同的項目的python版本,可以使用一下方法

shell:會話級別的,也就是說設置當前運行的終端下使用的python版本

[python@python ~]$ pyenv shell 3.5.3

[python@python ~]$ python -V

Python 3.5.3

要想在目錄級別使用不同版本的python,則可以使用如下選項

local:設置目錄級別的版本控制

注意:子目錄下一樣可以使用local來重新定義,如果不定義,則繼承上面的python版本

[python@python ~]$ mkdir -p ~/dingcx/projects/web

[python@python ~]$ cd ~/dingcx/projects/web

#在當前目錄下,修改當前目錄的python版本,并且,這個級別的版本不會受shell或者global下的python版本控制

[python@python web]$ pyenv local 3.5.3

[python@python web]$ python -V

Python 3.5.3

[python@python web]$ cd ..

[python@python projects]$ python -V

Python 3.6.6

pyenv的local版本控制的本質

使用一個隱藏文件來實現了該目錄及其子目錄下的版本控制,但是如果我們在當前目錄下安裝了一個pip,那影響的就是整個3.5.3的

[python@python projects]$ pwd

/home/python/dingcx/projects

[python@python projects]$ cd ./web

[python@python web]$ ll -a

total 12

drwxrwxr-x. 2 python python 4096 Mar 14 10:20 .

drwxrwxr-x. 3 python python 4096 Mar 14 10:20 ..

-rw-rw-r--. 1 python python 6 Mar 14 10:20 .python-version

[python@python web]$ cat .python-version

3.5.3

[python@python web]$ pwd

/home/python/dingcx/projects/web

#pyenv local --unset,撤銷

以上都是在公共的空間中配置不同的python版本,如果多個項目使用不同的版本開發,或者使用不同的Python版本部署運行,或者同樣的版本開發但是不同項目使用了不同版本的庫,使用公共空間配置Python版本就會發生沖突,那么最好的解決辦法就是使用虛擬環境

virtualenv:配置虛擬環境

這是一個pyenv的插件,虛擬環境下使用pip安裝,不會影響到公共的庫

(ding) [python@www plugins]$ ll

total 24

drwxr-xr-x. 4 python python 4096 Dec 30 07:54 pyenv-doctor

drwxr-xr-x. 6 python python 4096 Dec 30 07:54 pyenv-installer

drwxr-xr-x. 5 python python 4096 Dec 30 07:55 pyenv-update

drwxr-xr-x. 8 python python 4096 Dec 30 07:55 pyenv-virtualenv

drwxr-xr-x. 4 python python 4096 Dec 30 07:55 pyenv-which-ext

drwxrwxr-x. 5 python python 4096 Dec 30 07:54 python-build

(ding) [python@www plugins]$ pwd

/home/python/.pyenv/plugins

pyenv-virtualenv的使用,setuptools和pip是默認就安裝的

[python@python web]$ pyenv virtualenv 3.6.6 ding #安裝virtualenv

Looking in links: /tmp/tmp8eq3hccs

Requirement already satisfied: setuptools in /home/python/.pyenv/versions/3.6.6/envs/ding/lib/python3.6/site-packages (39.0.1)

Requirement already satisfied: pip in /home/python/.pyenv/versions/3.6.6/envs/ding/lib/python3.6/site-packages (10.0.1)

[python@python web]$ pyenv versions

system

* 3.5.3 (set by /home/python/dingcx/projects/web/.python-version)

3.6.6

3.6.6/envs/ding

ding

創建完虛擬環境之后,可以把這個當做一個版本來使用

[python@www ~]$ pyenv global ding

(ding) [python@www ~]$ python -V

Python 3.6.6

(ding) [python@www ~]$ pyenv global 3.6.6

[python@www ~]$ pyenv shell ding

(ding) [python@www ~]$ python -V

Python 3.6.6

(ding) [python@www ~]$ pyenv global 3.6.6

(ding) [python@www ~]$ pyenv local ding

(ding) [python@www ~]$ python -V

Python 3.6.6

pyenv虛擬環境的本質

1.在~/.pyenv/versions下有一個軟連接文件,會指向pyenv管理的版本目錄(3.6.6)中,在這個路徑中的envs路徑下會創建虛擬環境名的路徑

2.在虛擬環境下,使用pip安裝的包,都放置在一下路徑下

3.公共環境下的包放置在對應版本下的lib路徑下

4.在~/.pyenv/version文件保存了pyenv當前使用的python版本

pip的使用

通用配置(最好是使用這個配置,不然的話,速度非常慢)

pip通用配置步驟

1.在家目錄下創建一個隱藏目錄

mkdir ~/.pip

(Windows下為pip目錄)

2.創建一個pip.conf文件(Windows下為pip.ini)

[python@www ~]$ vim ~/.pip/pip.conf

文件內容為:

[global]

index-url=https://mirrors.aliyun.com/pypi/simple/

trusted-host=mirrors.alyun.com

trusted-host選項為了避免麻煩是必須的,否則使用的時候會提示不受信任,或者添加“--trusted-host=mirrors.aliyun.com”選項;

注意:有網頁提示需要創建或修改配置文件(linux的文件在~/.pip/pip.conf,windows在%HOMEPATH%\pip\pip.ini),至少Windows7下“%HOMEPATH%\pip\pip.ini”這個目錄是不起作用的。

pip使用:

pip安裝python庫

#pip install psutil

pip卸載python庫

#pip uninstall psutil

pip查看安裝的庫具體信息

#pip show psutil

pip查看所有安裝的包(庫)

#pip list

pip中freeze的使用

用于實現將開發環境中已經安裝的包快速打包給部署環境

(ding) [python@www ~]$ pip list

Package Version

---------------- -------

backcall 0.1.0

decorator 4.4.1

ipython 7.12.0

ipython-genutils 0.2.0

jedi 0.16.0

parso 0.6.1

pexpect 4.8.0

pickleshare 0.7.5

pip 10.0.1

prompt-toolkit 3.0.3

ptyprocess 0.6.0

Pygments 2.5.2

setuptools 39.0.1

six 1.14.0

traitlets 4.3.3

wcwidth 0.1.8

You are using pip version 10.0.1, however version 20.0.2 is available.

You should consider upgrading via the 'pip install --upgrade pip' command.

(ding) [python@www ~]$ pip freeze > requirements

You are using pip version 10.0.1, however version 20.0.2 is available.

You should consider upgrading via the 'pip install --upgrade pip' command.

(ding) [python@www ~]$ more requirements

backcall==0.1.0

decorator==4.4.1

ipython==7.12.0

ipython-genutils==0.2.0

jedi==0.16.0

parso==0.6.1

pexpect==4.8.0

pickleshare==0.7.5

prompt-toolkit==3.0.3

ptyprocess==0.6.0

Pygments==2.5.2

six==1.14.0

traitlets==4.3.3

wcwidth==0.1.8

#在部署環境中,安裝庫

(dcx) [python@www ~]$ pip install -r requirements

總結

以上是生活随笔為你收集整理的python文件中环境声明_Python环境构建的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。