1. 程式人生 > >linux,python 多版本共存,不同版本PIP如何使用

linux,python 多版本共存,不同版本PIP如何使用

序言:

            相信大家,在工作中都會遇到這樣的問題,有的程式開始限定是用python那個版本,或者說我們在公用伺服器上面,不想別人更改我們的環境,今天給大家介紹怎麼來在home目錄下面建一個自己的目錄,建一個屬於自己的庫。

1:python的安裝。

             在這裡我用的是anaconda來配置的,官方的程式也是類似。首先,在home目錄下建立一個自己的目錄

mkdir wfile

進入目錄下面,

把你下載好的anaconda的程式放在當前目錄下面,pass(如果在命令列不方便的換,可以mv   /oldpath /newpython),執行,

bash Anaconda2-5.2.0-Linux-x86_64.sh 
### 這裡是執行這個SHELL程式

 

前面都是正常操作,我就不多說了,注意這一步是關鍵,我們要把我們的程式放到我們自己的資料夾,防止別人隨意更改。

在這裡我們可以給出檔案的安裝路徑,例如我的就是/home/kzkj/wfile/anaconda2,你們可以安裝你們當前的路徑適當的修改。

後面就是正常安裝了。

注意下面了:

!!!!!!

這裡我們一定要選擇NO,我們自己來配置當前的環境變數。因為,yes會覆蓋掉別人的環境變數,或者導致別人來呼叫你的程式。

後面就是正常安裝了。

第二個要注意的地方:

因為我們之間沒有預設新增環境變數,在這裡我們自己在新增環境變數,

vim ~/.bashrc

進入使用者環境變數,

# added by Anaconda2 installer
alias py27="/home/lee/wfie/anaconda2/bin/python2.7"
記住路徑配置的方式,是指到你剛才安裝anconda所在目錄下的/bin/python2.7,前面是你們自己的路徑。

 注意,在這裡我們用的是別名的方式,這裡你可以選擇你自己喜歡,並且好記的。記住路徑配置的方式,是指到你剛才安裝anconda所在目錄下的/bin/python2.7,前面是你們自己的路徑。

接下來重新整理環境變數

source ~/.bashrc

這樣你會發現,你輸入你個的別名,會沒有覆蓋掉原來的python。

第三個要注意的地方:

我們會遇到一個問題,我們用了別名來解決python啟動的問題,那麼,pip程式安裝問題怎麼解決呢,我們如何知道pip安裝的東西是安裝到我們自己的檔案目錄,還是安裝到別人的檔案目錄呢。在這裡我們可以看看你們本機當期pip指向的安裝目錄。

pip -V

看我這裡,他並不是指向我們剛才安裝的目錄,所以我們直接用PIP安裝並不會安裝到我們自己python目錄下面。我們python用pip安裝的程式一般會預設放在

~/wfile/anaconda2/lib/python2.7/sitpackage

前面是你們自己的,從anaconda2,是相同的。在這裡我給你們說說為什麼如果直接使用pip不會安裝到自己的目錄下面(不想看的可以直接跳到最後)。

在linux中,會有環境變數這種說法,其實就是,我們在命令列模式,
我們輸入命令的搜尋路徑。剛才上面我們可以看到pip -V指向了一個路徑。
如果我們在命令列模式下面,執行pip,系統就是根據環境變數取尋找可執行的命令。
但是,這裡有一個問題,如果系統的兩個命令,名稱相同會發生什麼情況了,
這裡就是我們多版本Python中PIP的問題。這時候系統會直接給出兩個路。
或者覆蓋掉前一個路徑,具體什麼我也忘了。反正就是不能正常了。
下面我們給出解決辦法。
解決辦法:
       在使用pip的時候,我們中自己的別名來使用pip

        例如正常使用是:pip install mxnet
        我們需要更改成:py2.7 -m pip install mxnet. 

      其他依次類推。

總結:

上面給出了,python多版本共存,以及在多版本下,pip如果來安裝python的庫。我想我已經說了很明白了,如果有不明白,可以留言,如果有錯誤請您聯絡我更新,如果喜歡,點個關注吧。-.- ..-.- -.--..-.-.-.---..-.-

相關推薦

linuxpython 版本共存不同版本PIP如何使用

序言:             相信大家,在工作中都會遇到這樣的問題,有的程式開始限定是用python那個版本,或者說我們在公用伺服器上面,不想別人更改我們的環境,今天給大家介紹怎麼來在home目錄下面建一個自己的目錄,建一個屬於自己的庫。 1:python的安裝。  

MacPython版本共存個獨立Python開發環境切換。

一、安裝配置pyenv 經常遇到這樣的情況: 系統自帶的Python是2.x,自己需要Python 3.x,測試嚐鮮;系統是2.6.x,開發環境是2.7.x由於Mac機器系統保護的原因,預設的Python中無法對PIP一些包升級,需要組建新的Python環境。此時需要在

Linux配置Python版本共存

$path 配置 bin gpo 權限 輸入 刪除 註意 alt 我們知道在Windows下多版本共存的配置方法就是改可執行文件的名字,配置環境變量。 Linux中的配置原理差不多,思路就是生成軟鏈接,配置到環境變量。 在沒配置之前,我的Ubuntu中安裝了python

linux下啟動個php分別監聽不同的埠。

在工作中,我們可能會遇到,伺服器叢集的搭建。 這個時候,我們不可能,每一臺伺服器都是lnmp的環境,我們會把nmp分別放在不同的伺服器上,不同的伺服器負責不同的功能。比如我們下面要說的php 加入nginx和mysql已經在其他的伺服器上配置好了,這個時候我們就需要將php這另外一臺空閒的伺服器上配置好。

iis7配置fastcgi完美支援php版本共存完美解決php環境變數問題

1、在全域性點選fastcgi 新增php的執行路徑 3、編輯設定,點選環境變數這部分 點選新增 PHPRC,name填寫PHPRC,value值指定對應php路徑 PHP_FCGI_MAX_REQUESTS,名稱填寫PHP_FCGI_MAX_REQUES

Mac安裝anaconda後兩個python版本共存在終端pip無法為各自python版本倒入模組的解決辦法

問題描述:使用anaconda來管理包,十分方便,也可以到達使得python2和python3共存的目的,但當匯入anaconda以外的包時,可能會產生一些問題,在近期學習中,由於會用到scikit-learn模組,此模組為python2.7版本的模組,在使用終端通過pip

Linuxpython版本環境介紹

package sta app total shel ons 版本 tis openssl 一、python多版本配置說明 安裝python相關依賴 [root@centos6 ~]# yum install -y gcc make patch gdbm-devel o

python線程進程編程。

exit children 調用 多核 auth 目前 單元 參考 博客 程,是目前計算機中為應用程序分配資源的最小單位; 進程,是目前計算機中運行應用程序的最小單位; 在實際系統中,其實進程都是被分為進程來實現的,所以參與時間片輪轉的是線程;   但是管理應用程序的資源的

python:進程進程隊列進程管道,Manager,進程鎖,進程池

子進程 __name__ art get 調用 sta manage parent call #!usr/bin/env python# -*- coding:utf-8 -*-__author__ = "Samson"import multiprocessingimpor

玩轉python(7)python協程線程的比較

用戶體驗 time() cut 過程 RR 至少 執行 結果 關鍵字 前段時間在做一個項目,項目本身沒什麽難度,只是數據存在一個數據接口服務商那兒,這就意味著,前端獲取數據需要至少兩次http請求,第一次是前端到後端的請求,第二次是後端到數據接口的請求。有時,後端接收到前端

Python線程進程並行並發異步編程

current 筆記 clas 利用 編程 block 多線程 ces job Python並發與並行的新手指南:http://python.jobbole.com/81260/ Python 中的多線程,多進程,並發,並行,同步,通信:https://blog.csd

python 進程線程協程

task return time finall ssi args 並且 python 代碼 在我們實際編碼中,會遇到一些並行的任務,因為單個任務無法最大限度的使用計算機資源。使用並行任務,可以提高代碼效率,最大限度的發揮計算機的性能。python實現並行任務可以有多進程,多

python 執行緒 程序 協程

1. 介紹: threading用於提供執行緒相關的操作,執行緒是應用程式中工作的最小單元。python當前版本的多執行緒庫沒有實現優先順序、執行緒組,執行緒也不能被停止、暫停、恢復、中斷。 2. 1  執行緒執行函式 #!/bin/python #coding:utf8 import

Python 執行緒(全域性變數)資料共享threading.Lock() 互斥鎖

  demo.py(互斥鎖): import threading import time # 定義一個全域性變數 g_num = 0 def test1(num): global g_num # 全域性變數可以實現執行緒間資料共享。也可以通過傳參實現 fo

linuxpython程式後臺執行並將列印資訊儲存檔案

在跑比較時間比較長的程式,或者是列印資訊比較多的程式時,一般都會後臺執行程式,然後把列印資訊儲存在檔案中,等程式執行結束後再檢查輸出日誌。完成該功能可以用如下命令: nuhup python -u test.py > test.log 2>&1 &

嵌入式Linux網路程式設計TCP併發伺服器TCP執行緒併發伺服器TCP程序併發伺服器

文章目錄 1,TCP多執行緒併發伺服器 1.1,標頭檔案net.h 1.2,客戶端client.c 1.3,伺服器端server.c 2,TCP多程序併發伺服器 2.1,標頭檔案net.h 2.2,客

python 進程實際上都沒有運行sleep

進程優先級 什麽 fun linux fault poi 卡死 ted 基本 思考並行運算的代碼塊中,是計算密集型的。因為計算的時間復雜度比較高,跑每一個例子會耗費幾天的時間。因此不存在所謂活少人多的問題。 1.是否是進程優先級的問題 答案為否,因為個進程優先級一致,而每個

python 行排序根據染色體號位置資訊排序升序降序排序

遇到一個問題是需要將檔案按照染色體編號和位置編號進行排序,在shell中我們可以使用sort -V -k2,3 annovar.xls這種方式來進行排序,而在python中如果想要進行多行排序,就需要sort的key引數指定的函式返回一個元組或者列表來進行排序。 現在我們有

程序同步問題python程序解讀

先貼上程式碼吧,後續再補上文章。。 程序不能用全域性變數,因為新程序一啟動的就會先把全域性變數執行一遍,所以你全域性的程序鎖是完全沒用的,只能傳引數傳進去 #coding=utf-8 # #測試一個程序在寫檔案的時候,另外一個檔案能不讀 # import multip

Linux下佈置個Tomcat同時執行個Tomcat。

轉載這個老哥的https://www.cnblogs.com/webcc/archive/2012/08/22/2651084.html扣號內是我自己操作時的一些問題和決解方法。環境說明:作業系統:  RedHet 5.3JDK版本:  1.4.2WEB容器:    Tomc