首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >无法使用Virtualenv通过pip进行安装

无法使用Virtualenv通过pip进行安装
EN

Stack Overflow用户
提问于 2011-10-27 10:08:48
回答 8查看 59.8K关注 0票数 63

下面是我运行pip时得到的错误:

代码语言:javascript
复制
serkan$ rm -r mysite
serkan$ pwd
/Users/serkan/Desktop/Python Folder
serkan$ virtualenv mysite 
New python executable in mysite/bin/python
Installing setuptools............done.
Installing pip...............done.
serkan$ source mysite/bin/activate
(mysite)serkan$ pip install pinax
-bash: /Users/serkan/Desktop/Python Folder/mysite/bin/pip: "/Users/serkan/Desktop/Python: bad interpreter: No such file or directory
(mysite)serkan$ python pip install pinax
python: can't open file 'pip': [Errno 2] No such file or directory
(mysite)serkan$ python pip install Pinax
python: can't open file 'pip': [Errno 2] No such file or directory
(mysite)serkan$ python pip install Pinax
python: can't open file 'pip': [Errno 2] No such file or directory
(mysite)serkan$ python pip install Pinax
python: can't open file 'pip': [Errno 2] No such file or directory
(mysite)serkan$ python pip 
python: can't open file 'pip': [Errno 2] No such file or directory
(mysite)serkan$ pip
-bash: /Users/serkan/Desktop/Python Folder/mysite/bin/pip: "/Users/serkan/Desktop/Python: bad interpreter: No such file or directory
(mysite)serkan$ pip install Pinax
-bash: /Users/serkan/Desktop/Python Folder/mysite/bin/pip: "/Users/serkan/Desktop/Python: bad interpreter: No such file or directory
(mysite)serkan$ 
EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2011-10-27 10:19:03

在没有空格的路径中创建您的virtualenv环境。这就是为什么它会发生:

当您创建环境时,它会设置一个bin目录。在bin目录中是与环境相关所有可执行文件。有些是脚本。正如您可能知道的,hashbang用于告诉系统使用哪个解释器来运行脚本。您可能经常在脚本的顶部看到以下内容:

代码语言:javascript
复制
#!/usr/bin/env python

如果脚本位于/tmp/test.py,则通知系统运行此命令来执行脚本:

代码语言:javascript
复制
/usr/bin/env python /tmp/test.py

在您的示例中,virtualenv创建的脚本如下所示:

代码语言:javascript
复制
#!/tmp/oh no/bin/python

当系统尝试执行该命令时,它将尝试执行带有参数no/bin/python/tmp/test.py的命令/tmp/oh/tmp/oh不存在,因此失败。

票数 128
EN

Stack Overflow用户

发布于 2015-06-04 15:55:50

对于遇到这个问题的人,我发现路径的长度也会导致问题,不使用任何空格(Ubuntu 12.04):

代码语言:javascript
复制
virtualenv /home/user/some/very/longer/path/without/spaces/etc/venv

失败,而

代码语言:javascript
复制
virtualenv /home/user/some/very/long/path/without/spaces/etc/venv

工作得很好,看下面Alex的评论

票数 21
EN

Stack Overflow用户

发布于 2013-12-04 15:38:20

关于原因,icktoofay是正确的。

要在包含空格的目录中使用pip和virtualenv,请编辑/path/to/env/bin/pip,将顶部的shebang替换为#!/usr/bin/env python (如果您使用的是pypy,则替换为#!/usr/bin/env pypy )。

请注意,virtualenv会更改您的环境,以便/usr/bin/env python引用由virtualenv定义的python

票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7911003

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档