Pip不会将软件包安装到激活的virtualenv,忽略requirements.txt

leo*_*emp 11 python git django virtualenv virtualenvwrapper

我正在尝试在家里的新开发机器上设置开发环境.我刚刚安装了Ubuntu,现在我正在尝试从我们的Web服务器克隆远程仓库并安装其依赖项,以便我可以开始工作.

到目前为止,我已经手动安装virtualenvvirtualenvwrapper从pypi和编辑我的bash.rc适当来源我的virtualenvs当我启动我的终端.然后我克隆了我的回购~/projects/project-name/websitename.com.然后我用virtualenvwrapper,以mkvirtualenv env-name~/projects/project-name/websitename.com.这恰好反映了file-structure/setup我克隆的网络服务器.到现在为止还挺好.

我登录到dev服务器并在virtualenv那里激活并使用pip freeze -l > req.txt将依赖项列表和scp呈现给我的本地计算机.我virtualenv在本地计算机上激活,导航到~/projects/project-name/websitename.com并执行pip install -r path-to-req.txt,它会遍历所有依赖项,就像没有错.但是,当我试图manage.py syncdb得到一个关于没有找到核心django包的错误.我勒个去?所以我想知道Django无法安装,我run pip install Django==1.5.1和它成功完成.我必须再次设置我的网站,并获得关于没有命名模块的另一个错误django_extensions.好吧,到底是怎么回事,我刚用pip安装了所有这些包?!

所以我pip freeze -l > test.txtcat test.txt它列出了什么?Django==1.5.1,我刚刚手动安装的一个包.为什么不将我的依赖项从我的指定列表安装到我的virtualenv?我在这里搞砸了什么?

-编辑 - - - - - - -

哪个点子给了我在我的virtualenv pip的路径

我只有1个virtualenv,它被激活

liv*_*ely 6

我通常的工作流程是

pip freeze > someFile.txt
Run Code Online (Sandbox Code Playgroud)

然后安装

pip install -r someFile.txt
Run Code Online (Sandbox Code Playgroud)

所以我确信这应该可以正常工作.不幸的是,除了确保检查之外,我无法告诉你任何事情

  1. 你真的处在你认为自己所处的虚拟世界中.确保自己跑步

    workon yourVirtualEnvName
    
    Run Code Online (Sandbox Code Playgroud)

    在重要的情况下激活它.

  2. 一定要检查pip是否在你的virtualenv中.

    which pip
    
    Run Code Online (Sandbox Code Playgroud)

    给我

    /path/to/home/.virtualenvs/myVirtEnv/bin/pip
    
    Run Code Online (Sandbox Code Playgroud)

对不起,我不能给你一个更具体的答案.我必须半定期地执行此操作,并且我从未遇到过跳过依赖项的问题.祝你好运!

  • 你提交了解决方案吗?我现在正在遇到一模一样的问题. (5认同)
  • 嗯,是的,我正在运行pip install -r someFile.txt,我甚至看着它说下载和安装,但随后包不存在.例如它说:下载/解压缩django-extensions == 1.1.1(来自-r req.txt(第14行))下载django-extensions-1.1.1.tar.gz(149kB):149kB已下载运行setup.py egg_info for package django-extensions.但django-extensions似乎没有安装,并且在调用时仍然会导致错误.当我冻结时它也不会出现.. (2认同)