相关疑难解决方法(0)

Cron和virtualenv

我试图从cron运行Django管理命令.我正在使用virtualenv来保持我的项目沙箱.

我在这里和其他地方看过一些示例,它们显示了virtualenv中的运行管理命令:

0 3 * * * source /home/user/project/env/bin/activate && /home/user/project/manage.py command arg
Run Code Online (Sandbox Code Playgroud)

但是,即使syslog在任务应该启动时显示一个条目,该任务也从未实际运行(脚本的日志文件为空).如果我从shell手动运行该行,它将按预期工作.

我目前可以通过cron运行命令的唯一方法是打破命令并将它们放入一个愚蠢的bash包装器脚本中:

#!/bin/sh
source /home/user/project/env/bin/activate
cd /home/user/project/
./manage.py command arg
Run Code Online (Sandbox Code Playgroud)

编辑:

ars提出了一个有效的命令组合:

0 3 * * * cd /home/user/project && /home/user/project/env/bin/python /home/user/project/manage.py command arg
Run Code Online (Sandbox Code Playgroud)

至少在我的情况下,调用virtualenv的激活脚本什么也没做.这个有用,等等.

python django cron virtualenv

210
推荐指数
9
解决办法
9万
查看次数

Python包没有使用pip在virtualenv中安装

我在安装扭曲时遇到问题

pip --version
Run Code Online (Sandbox Code Playgroud)

来自/home/chris/GL/GLBackend/glenv/lib/python2.7/site-packages/pip-1.1-py2.7.egg(python 2.7)的pip 1.1

创建一个虚拟环境

chris@chris-mint ~/GL/GLBackend $ sudo virtualenv -p python2.7 glenv
Run Code Online (Sandbox Code Playgroud)

使用解释器运行virtualenv /usr/bin/python2.7 glenv/bin/python2.7中的新python可执行文件还在glenv/bin/python中创建可执行文件安装distribute ................ .................................................. .................................................. .................................................. .......................完成.安装pip ...............完成.

为了以防万一,我将启用所有权限

chris@chris-mint ~/GL/GLBackend $ sudo chmod -R 777 glenv

chris@chris-mint ~/GL/GLBackend $ source glenv/bin/activate


(glenv)chris@chris-mint ~/GL/GLBackend $ pip freeze
Run Code Online (Sandbox Code Playgroud)

argparse == 1.2.1 distribute == 0.6.24 wsgiref == 0.1.2

twisted在此处未列为已安装

(glenv)chris@chris-mint ~/GL/GLBackend $ sudo pip install twisted
Run Code Online (Sandbox Code Playgroud)

要求已经满足(使用--upgrade升级):twisted in /usr/local/lib/python2.7/dist-packages要求已经满足(使用--upgrade升级):zope.interface> = 3.6.0 in/usr/local/lib/python2.7/dist-packages(来自twisted)需求已经满足(使用--upgrade进行升级):在/usr/local/lib/python2.7/dist-packages中分发(来自zope.interface > = 3.6.0-> twisted)清理......(glenv)chris @ chris-mint~/GL/GLBackend $ pip uninstall twisted无法卸载要求扭曲,未安装存储完整登录/home/chris/.pip/ pip.log

但是当我安装它时它说它已经安装好了.强制安装:

sudo pip …
Run Code Online (Sandbox Code Playgroud)

python pip twisted virtualenv

34
推荐指数
1
解决办法
2万
查看次数

Pip安装没有安装到正确的目录?

我似乎无法正确使用sudo pip安装,因此它安装到以下目录中:

/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/
Run Code Online (Sandbox Code Playgroud)

这样我就可以使用python导入模块了

我跑了

sudo pip install scikit-learn --upgrade
Run Code Online (Sandbox Code Playgroud)

结果

Requirement already up-to-date: scikit-learn in /usr/local/lib/python2.7/site-packages
Cleaning up...
Run Code Online (Sandbox Code Playgroud)

但是,它不在正确的目录中

如何将sudo pip install安装到正确的目录中?

另外,我试过了

sudo pip安装Scrappy

我收到以下消息

new-host-2:site-packages Chris$ sudo pip install Scrapy
Password:
Requirement already satisfied (use --upgrade to upgrade): Scrapy in /usr/local/lib/python2.7/site-packages
Requirement already satisfied (use --upgrade to upgrade): Twisted>=10.0.0 in /usr/local/lib/python2.7/site-packages (from Scrapy)
Requirement already satisfied (use --upgrade to upgrade): w3lib>=1.8.0 in /usr/local/lib/python2.7/site-packages (from Scrapy)
Requirement already satisfied (use --upgrade to upgrade): queuelib in /usr/local/lib/python2.7/site-packages (from Scrapy) …
Run Code Online (Sandbox Code Playgroud)

python bash installation pip

25
推荐指数
2
解决办法
9万
查看次数

virtualenv不包括pip

我正在尝试使用virtualenvMac OS X El Capitan 创建虚拟环境.我已经安装了Python 2.7.11用brew,其中包括pip, wheelsetuptools默认.

Hovewer,当我尝试virtualenv文档或任何其他资源中安装以下说明时,我遇到了几个问题:

  1. virtualenv/usr/local/bin完成pip其工作后,可执行文件不会被放入,所以我需要ln -s手动执行它(它可能表明在此步骤中安装有问题).
  2. 在我运行之后virtualenv venv,它创建了新环境,从brew安装中捕获了Python 2.7.11 ,但是:没有pip内部bin文件夹.这意味着,如果我尝试which pip,已经venv被激活,它会返回一个全球性的位置pip- /usr/local/bin/pip而不是/path/to/venv/bin/pip.

因此,在内部安装包venv使用全局pip并将它们安装到全局sites-packages而不是内部venv,这与环境应该做的完全相反.

你能否建议可能出现的问题以及如何解决?

编辑:要提到的是我曾经在我的计算机上安装了其他版本的Python,我最近删除了这个版本,如本答案所述.也许它会导致问题,需要一些更彻底的清洁.

python pip virtualenv

19
推荐指数
1
解决办法
1万
查看次数

如何在OSx更新后修复损坏的python 2.7.11

发生了什么:

在OSx更新和安装python 2.7我的virtualevn环境的新版本完全破坏后,我努力修复它.我不知道什么原因引起的,并通过一整套的东西,我没有和阅读最初是去没有工作如下所示.答案部分提供了解决我的问题的方法.

virtualenv找不到修复命令的工作原理:

  • 通过自制软件安装python,然后使用pip安装virtualenv
  • 通过https://www.python.org安装python ,然后使用pip安装virtualenv

相关问题帮助了我但没有提供我的问题的解决方案:

  1. 的virtualenv命令未找到
  2. 的virtualenv-workon命令未找到

完成了我完成的手动恢复(不该做什么!):

这并没有完全解决我的问题.在我找到正确的方法来修复我的OSx上的python开发环境之前,它只是让你知道我经历了哪些步骤.

在这之后,PIP仍然被打破:

在此之后所有的人创造一个虚拟的环境后,我的点子还是安装在主蟒蛇文件夹,而不是线程的虚拟环境和非下安装它们的数据包在这里也不在这里帮助.我的解决方案是使用以下选项在我的虚拟环境下运行pip:1-激活虚拟环境以便$VIRTUAL_ENV设置:

source venv/bin/activate
Run Code Online (Sandbox Code Playgroud)

2-强制pip安装在正确的目的地:

pip install …
Run Code Online (Sandbox Code Playgroud)

python macos python-2.7 osx-yosemite osx-elcapitan

18
推荐指数
2
解决办法
4万
查看次数

导入错误:没有名为 boto3 的模块

安装了 boto3 并将其升级到最新版本。我尝试了简易安装 pip 进行安装。我安装了多个版本的 python,所以我什至尝试在 virtualenv venv 中安装。但我得到了同样的错误:“没有名为 boto3 的模块”。

pip install boto3

python
Python 2.7.11 (default, Mar 10 2016, 14:12:44)
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import boto3
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named boto3
>>>
Run Code Online (Sandbox Code Playgroud)

我尝试使用 / 不使用 sudo:

sudo pip install boto3
Run Code Online (Sandbox Code Playgroud)

我正在尝试在 Raspberry Pi 上安装 AWS SDK。

pip freeze
Run Code Online (Sandbox Code Playgroud)

显示“boto3==1.3.0”已安装。

sudo pip install boto3

Requirement already satisfied (use …
Run Code Online (Sandbox Code Playgroud)

boto3 raspberry-pi2

6
推荐指数
1
解决办法
2万
查看次数

VirtualEnv/Pip尝试全局安装软件包

编辑#2找到解决方案; 见下文.

我正在使用VirtualEnv在Flask中编写一个小应用程序.这远非我第一次这样做,但是这次和过去两次我尝试过我遇到了同样的问题.当我. flask/bin/activate尝试安装一个软件包时 - pip install flup例如 - 它继续全局安装,而不是安装在VirtualEnv中.奇怪的是,它只发生在我之后deactivate,并且在这方面做得如此不一致.

也就是说,我似乎能够安装我需要的所有东西,如果我一次完成所有这些,甚至偶尔在我之后deactivate,但是在一定的间隔之后它就会停止工作并开始尝试安装到我的全局Python中site-packages.(当然,当它这样做时它也会要求权限.在我明白发生了什么事之前我试图强迫它sudo,以为我sudo virtualenv flask不小心把它带到了我自己身上,但是没有,这对某些人来说是全球性的其他原因.)

我没有做任何有趣的事情,比如使用--system-site-packages参数,我在VirtualEnv配置开始发生之前没有改变任何东西.它第一次发生时,我把它归结为侥幸.现在它变得非常恼火,因为我没有心情卸载所有东西并且每次都重新安装它,或者祈祷我会在引导脚本中考虑我需要的一切.

我没有包含任何错误消息,因为它们不是(或似乎不是)特别有价值; 它只是requirement already satisfied一遍又一遍地对我大喊大叫.

编辑#1我正在逐渐淡化问题,但我仍然没有解决方案.我在同一目录中创建了一个新的Flask项目,cd-ed到它,激活它的VirtualEnv等,然后运行which pip.这是新的VirtualEnv的点子 - 正确的点子.我停用了cd-ed到我原来的项目,激活了VirtualEnv,然后运行了which pip.它吐出了另一个项目 - 新的 - pip.我进行rm -r了新的测试项目,回到原来的状态,which pip再次运行,然后吐出来/usr/local/bin/pip.哦.好.

编辑#2:解决方案我可能没有弄清楚确切的原因,但我确实找到了解决方案.在bin/activatebin/pip脚本本身是意外运行的同时将两个VirtualEnvs某种程度上改变,可能(?).也许只是巧合,它在以前从未发生过三次连续发生过.不知道.

cat-ed activate果然,第42行,为

VIRTUAL_ENV="/Users/chaseries/blueprint/python/flask2/flask"
Run Code Online (Sandbox Code Playgroud)

代替

VIRTUAL_ENV="/Users/chaseries/blueprint/python/flask/flask"
Run Code Online (Sandbox Code Playgroud)

我改变了它,又跑which …

python pip virtualenv python-2.7

5
推荐指数
1
解决办法
7228
查看次数

pip 全局安装而不是在虚拟环境中安装 --- 即使所有路径和 pip 都指向正确的位置

我已经阅读了在全局站点包而不是 virtualenv 中安装 pip 并确保一切正确,我什至在 virtaulenv 中使用 easy_install 重新安装了 pip。

发生的事情很奇怪。首先它不会让我在没有 sudo 的情况下安装一个包......如果我阅读文本输出,它会尝试按预期将它放在 virtualenv 路径中......然后我使用 sudo 并且它可以工作。

但是,如果我尝试安装该软件包(在本例中为 django-bootstrap3),它会指出:

(env)kevin@g3:~/djangoP/work$ sudo pip install django-bootstrap3
Requirement already satisfied (use --upgrade to upgrade): django-bootstrap3 in /usr/local/lib/python3.4/dist-packages
Run Code Online (Sandbox Code Playgroud)

据我所知,这意味着它安装在 virtualenv 之外。

不太确定该怎么做。已经阅读了一些博客,很多人对这个问题都有不同的看法,但我似乎无法为自己找到解决方案。

我正在使用 Ubuntu 14、Python 2.7 并在我的主目录中工作。

任何帮助都会很棒。

谢谢你。

python django sudo pip virtualenv

5
推荐指数
1
解决办法
5705
查看次数