簡體   English   中英

Python3 pip在virtualenv中全局安裝

[英]Python3 pip installing globally when in a virtualenv

試圖最終跳轉到Python 3,但我遇到了與virtualenvwrapper的一些問題。 我首先創建虛擬環境,如下所示:

mkvirtualenv -p /usr/local/bin/python3 projectname

產量:

Running virtualenv with interpreter /usr/local/bin/python3
Using base prefix '/usr/local/Cellar/python3/3.3.3/Frameworks/Python.framework/Versions/3.3'
New python executable in projectname/bin/python3.3
Also creating executable in projectname/bin/python
Installing setuptools, pip...done.

到現在為止還挺好。 我檢查python控制台以確保環境正在查看正確的解釋器以及所有這些。 這里是悲傷發生的地方(當virtualenv活躍時):

pip install flask聲稱是成功的,但唉:

Python 3.3.3 (default, Jan  2 2014, 13:26:32) 
[GCC 4.2.1 Compatible Apple LLVM 5.0 (clang-500.2.79)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import flask
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named 'flask'

這是問題所在:

$ pip show flask
---
Name: Flask
Version: 0.10.1
Location: /usr/local/lib/python3.3/site-packages
Requires: Werkzeug, Jinja2, itsdangerous

除非我完全誤解了virtualenv / wrapper及其各自的魔法(我很有可能),看起來pip install是全局安裝Flask而不是我的virtualenv中的site-packages,因此virtualenv忽略了它。

任何線索在這里發生了什么/如何解決? 假設virtualenvwrapper准備好使用python3的黃金時段,我錯了嗎? 我不需要破壞我的.bashrc或手動設置環境變量的漂亮解決方案更可取。 我希望有一種方法可以通過virtualenv和virtualenvwrapper提供的api來實現這一點。

謝謝!

我在pip安裝包時遇到了問題,而不是在激活的virtualenv中。 看看pip安裝在全球網站包中而不是virtualenv的問題(和答案)。

基本上,解決方案包括修改virtualenv中pip腳本的shebang,因為它們指向錯誤的python安裝(全局而不是virtualenv)。 只需將shebang更改為指向正確的位置即可進行設置。

注意:應該歸功於提出解決方案的Chase Ries。

我遇到過同樣的問題。 它似乎從Virtualenv 1.11.4開始解決。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM