Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Virtualenv无法在上运行_Python_Django_Virtualenv_Pip - Fatal编程技术网

Python Virtualenv无法在上运行

Python Virtualenv无法在上运行,python,django,virtualenv,pip,Python,Django,Virtualenv,Pip,我已使用以下命令生成虚拟环境: virtualenv env --distribute --no-site-packages 然后,我用pip将几个模块(django等)安装到env中,问题是当我想在第二台机器上运行代码时,它将无法工作,下面是我所做的: visgean@rewitaqia:~/scripty/project_name$ source ./env/bin/activate (env)visgean@rewitaqia:~/scripty/project_name$ python

我已使用以下命令生成虚拟环境:

virtualenv env --distribute --no-site-packages
然后,我用pip将几个模块(django等)安装到env中,问题是当我想在第二台机器上运行代码时,它将无法工作,下面是我所做的:

visgean@rewitaqia:~/scripty/project_name$ source ./env/bin/activate
(env)visgean@rewitaqia:~/scripty/project_name$ python
Python 2.7.1+ (r271:86832, Sep 27 2012, 21:12:17) 
[GCC 4.5.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import django
>>> django.__file__
'/home/visgean/scripty/project_name/env/lib/python2.7/site-packages/django/__init__.pyc'
但是当我想在第二台机器上运行它时:

(env)user@debian:~/project_name$ python
Python 2.6.6 (r266:84292, Dec 27 2010, 00:02:40) 
[GCC 4.4.5] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import django
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named django
>>> 
(env)user@debian:~/project\u name$python
Python 2.6.6(r266:842921010年12月27日00:02:40)
[GCC 4.4.5]关于linux2
有关详细信息,请键入“帮助”、“版权”、“信用证”或“许可证”。
>>>进口django
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
ImportError:没有名为django的模块
>>> 

我看到了一个疯狂的错误!第一台机器是ubuntu,第二台是ubuntu。在/home/user/project\u name/env/lib/python2.7中似乎有一些断开的链接,这就是问题所在吗?如果是这样,我应该如何防止/修复它?

如果您只是将virtualenv复制到第二台机器上,您可能会遇到一些问题。从virtualenv站点:

通常情况下,环境绑定到特定路径。那意味着你 无法移动环境或将其复制到其他计算机。你 可以使用以下命令修复环境以使其可重新定位:

$virtualenv--可重定位环境

这将使一些文件 由setuptools或distribute创建并使用相对路径 将所有脚本更改为使用activate_this.py,而不是使用 用于选择环境的Python解释器的位置

注意:您必须在将任何软件包安装到 环境如果使环境可重新定位,请安装 新软件包,您必须再次运行virtualenv--可重新定位


我刚刚注意到,我在第二台机器上安装了一个错误的python版本-debian没有python2.7,安装2.7和pip的解决方案是什么

您是否在第二台机器上安装了与第一台相同的所有软件包?您正在将env复制到第二台机器上?在两台VirtualNV上使用相同版本的python(您应该这样做),您应该在debian机器上的某个地方安装python2.7,并执行类似于
virtualenv-p/usr/bin/python2.7
(这样您就不必更改系统默认的python可执行文件)