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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

巨坑 之 pip install 和 conda install 的区别 以及 查看 和 修改 虚拟环境下运行路径

發布時間:2024/4/18 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 巨坑 之 pip install 和 conda install 的区别 以及 查看 和 修改 虚拟环境下运行路径 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

先來說明我的問題:首先我在anoconda下建立了自己的虛擬環境,并在我的虛擬環境中用pip安裝了對應版本的tensorflow,但是再調用的時候,我發現并沒有調用我安裝的tensorflow版本。導致我的代碼無法運行。因此我產生了一個疑惑,pip安裝的包和conda安裝的包的位置是否不同,我在運行的時候到底用的是那個環境下的包。

注:miniconda3 和 我文中提到的anoconda3差不多,因為大部分是anoconda3,因此雖然機器上裝的是miniconda3,但文章中在寫的時候用的是anoconda3,只是命名的問題。

經查閱資料發現:

1.使用conda install在虛擬環境中安裝的包都存放在了/anoconda3/pkgs 這個路徑下,然后,我們在我們的虛擬環境中要用到或下載時先到該路徑下去找,若有則直接將其復制到我們的虛擬環境中包得存放位置:~/anoconda3/envs/xxx/lib/python3.6/site-packages/。若沒有,則先下載到/anoconda3/pkgs,在復制到虛擬環境包的路徑下。

2.而在虛擬環境中使用pip install 安裝時,則直接將包安裝在了~/anoconda3/envs/xxx/lib/python3.6/site-packages/路徑下。

問題分析

到這里,我們就知道了二者安裝包后包所在的位置,那么為什么還會出現我上面的問題呢,原因就是,你雖然在你的虛擬環境下運行代碼,但是你的實際運行環境并不一定就是你的包的安裝路徑,也就是說,你雖然在你創建的虛擬環境中將一切包都安裝好了,但是在運行代碼,python在編譯時,程序并沒有去:~/anoconda3/envs/xxx/lib/python3.6/site-packages/這個路徑下調用。而是去了優先級更高的別的路徑下調用,自然就會出現上述問題。那么如何查看,我當前虛擬環境的實際運行路徑呢?

我們使用 python -m site 來查看,結果類似下面:

問題解決

查看USER_SITE 和 USER_BASE 是否對應了你的包安裝的路徑。如果不是,你就要將其按照上面的格式修改:

修改方式:打開 ~/anaconda3/envs/XXX/lib/python3.6/site.py

找到USER_SITE 和 USER_BASE 并人為賦值即可。這樣我的問題到此就解決了。

問題思考

那么為什么會產生我這個問題呢,我仔細分析了一下,后來發現:

因為這是實驗室的服務器大家共用,然后有人將自己的虛擬環境包路徑添加到了系統路徑中,因此,在我們的虛擬環境中運行程序時,python編譯后,找包時,優先去了該虛擬環境,才導致了我開頭的問題。我們只需將USER_SITE 和 USER_BASE 改成我們自己的路徑就好了(如果我們不想修改系統路徑的話,個人建議不要隨便修改系統路徑,因為機器是大家的)

到此,我們就知道了在虛擬環境中使用pip install 和 conda install 的區別和以及運行時的一些要注意的點。

總結

以上是生活随笔為你收集整理的巨坑 之 pip install 和 conda install 的区别 以及 查看 和 修改 虚拟环境下运行路径的全部內容,希望文章能夠幫你解決所遇到的問題。

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