Bra*_*own 6 linux ubuntu pip psycopg2
我的目标是提供一个在运行Ubuntu的EC2实例上使用postgres的hello world Django应用程序.我通过ssh登录并使用此requirements.txt克隆了包含Django项目的git repo :
Django==1.8.2
djangorestframework==3.1.2
psycopg2==2.6
Run Code Online (Sandbox Code Playgroud)
我创建了一个virtualenv然后,当我运行时(ec2_deploy_test)ubuntu@ip-172-31-22-100:~/ec2-deploy-test$ pip install -r requirements.txt,抛出了这个异常:
收集psycopg2 == 2.6(来自-r requirements.txt(第3行))/home/ubuntu/Envs/ec2_deploy_test/local/lib/python2.7/site-packages/pip/ vendor/requests/packages/urllib3/util/ssl .py:90:InsecurePlatformWarning:真正的SSLContext对象不可用.这可以防止urllib3正确配置SSL,并可能导致某些SSL连接失败.有关更多信息,请参阅 https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.InsecurePlatformWarning正在下载psycopg2-2.6.tar.gz(367kB)100%|████████████████████████████████| 368kB 785kB/s用于收集包的构建轮:psycopg2异常:回溯(最近一次调用最后一次):文件"/home/ubuntu/Envs/ec2_deploy_test/local/lib/python2.7/site-packages/pip/basecommand.py" ,第223行,主状态= self.run(options,args)文件"/home/ubuntu/Envs/ec2_deploy_test/local/lib/python2.7/site-packages/pip/commands/install.py",第291行,在运行wb.build(autobuilding = True)文件"/home/ubuntu/Envs/ec2_deploy_test/local/lib/python2.7/site-packages/pip/wheel.py",第753行,在构建ensure_dir(output_dir)中文件"/home/ubuntu/Envs/ec2_deploy_test/local/lib/python2.7/site-packages/pip/utils/ 初始化的.py",行70,在ensure_dir os.makedirs(路径)文件"/家/ Ubuntu的/ envs/ec2_deploy_test/lib/python2.7/os.py",第150行,在makedirs makedirs(head,mode)文件"/home/ubuntu/Envs/ec2_deploy_test/lib/python2.7/os.py",第150行,在makedirs makedirs(头,模式)文件"/home/ubuntu/Envs/ec2_deploy_test/lib/python2.7/os.py",第150行,在makedirs makedirs(头,模式)文件"/ home/ubunt u/Envs/ec2_deploy_test/lib/python2.7/os.py",第157行,在makedirs中mkdir(名称,模式)OSError:[Errno 13]权限被拒绝:'/ home /ubuntu/.cache/pip /wheels/AB"
然后我运行(ec2_deploy_test)ubuntu@ip-172-31-22-100:~/ec2-deploy-test$ sudo pip install -r requirements.txt并成功安装了psycopg2.
为什么我需要root权限才能在我的虚拟环境中安装python包?我是Linux和sysadmin的新手,所以欢迎所有的建议.提前致谢.
由于某种原因,您无权在其中创建目录/home/ubuntu/.cache/pip/wheels/ab.通常这个问题不应该出现; 无论如何,既然它发生了,只需.cache递归地更改目录的权限.我想这个问题是一个所有权,所以尝试启动命令sudo chown -R <USERNAME> ~/.cache/pip,其中<USERNAME>应该是您的用户的名称.
建议 - 尝试不在没有真正需要的情况下从root用户启动应用程序.最有可能的是,没有访问权限的目录是由一些使用root权限运行的应用程序创建的 - 现在所有权混乱了.
| 归档时间: |
|
| 查看次数: |
1461 次 |
| 最近记录: |