小编Bra*_*own的帖子

为什么我没有权限在virtualenv中安装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的新手,所以欢迎所有的建议.提前致谢.

linux ubuntu pip psycopg2

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

如何在按空格分割的字符串的中点添加换行符

使用php:如何在落在字符串相对中间的空白处插入换行符?或者换句话说,我如何计算句子中的单词然后在中间点的句子中放置换行符?

这个想法是避免在博客文章标题的第二行上遗弃寡妇(遗弃的单词),基本上将每个标题分成两半,如果标题占用多行,则将其放在两行.

提前致谢.

更新:大家好,我意识到我需要preg_split函数来按空格分割标题.对不起,如果问题中的部分不清楚.我修改了Asaph的答案并使用了这个:

$title_length = strlen($title);
if($title_length > 30){
    $split = preg_split('/ /', $title, null, PREG_SPLIT_NO_EMPTY);
    $split_at = ceil(count($split) / 2);
    echo $split_at;
    $broken_title = '';
    $broken = false;
    foreach($split as $word_pos => $word){
        if($word_pos == $split_at  && $broken == false){
            $broken_title.= '<br />'."\n";
            $broken = true;
        }
        $broken_title .= $word." ";
    }
    $title = $broken_title;
}   
Run Code Online (Sandbox Code Playgroud)

我是SO的新手,我被社区的力量所震撼.干杯.

php string text

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

Spotify 的 Python 社交身份验证:重定向缺少“状态”参数

我正在需要访问用户的 Spotify 帐户的 Django 应用程序中实现 Python Social Auth。身份验证流程中的初始步骤有效:将请求发送到 Spotify 的“/授权”端点,并向用户显示一个模式,解释应用程序将被授权的访问范围。但是,当应用程序的重定向 uri 被请求时 ('/completed/spotify/') 会引发此异常:

AuthMissingParameter at /complete/spotify/
Missing needed parameter state
Request Method: GET
Request URL:    http://127.0.0.1:8000/complete/spotify/
Django Version: 1.8.2
Exception Type: AuthMissingParameter
Exception Value:    
Missing needed parameter state
Exception Location: /Users/brandon/Envs/group_playlist_generator/lib/python2.7/site-packages/social/backends/oauth.py in validate_state, line 86
Python Executable:  /Users/brandon/Envs/group_playlist_generator/bin/python
Python Version: 2.7.9
Python Path:    
['/Users/brandon/dev/group_playlist_generator',
 '/Users/brandon/Envs/group_playlist_generator/lib/python27.zip',
 '/Users/brandon/Envs/group_playlist_generator/lib/python2.7',
 '/Users/brandon/Envs/group_playlist_generator/lib/python2.7/plat-darwin',
 '/Users/brandon/Envs/group_playlist_generator/lib/python2.7/plat-mac',
 '/Users/brandon/Envs/group_playlist_generator/lib/python2.7/plat-mac/lib-scriptpackages',
 '/Users/brandon/Envs/group_playlist_generator/lib/python2.7/lib-tk',
 '/Users/brandon/Envs/group_playlist_generator/lib/python2.7/lib-old',
 '/Users/brandon/Envs/group_playlist_generator/lib/python2.7/lib-dynload',
 '/usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/lib/python2.7',
 '/usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin',
 '/usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk',
 '/usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac',
 '/usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages',
 '/Users/brandon/Envs/group_playlist_generator/lib/python2.7/site-packages']
Run Code Online (Sandbox Code Playgroud)

这个问题可能只是我在 Auth 方面的经验的一个函数,尤其是在 Django 的上下文中。我已经阅读了 PSA 源代码的相关部分,但我不明白这个“状态”参数是如何在 Spotify 和应用程序之间传递的。我看到此参数已添加到对 Spotify 的原始请求中,但我不确定如何确保将其传递回重定向​​ …

python django spotify oauth-2.0 python-social-auth

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

标签 统计

django ×1

linux ×1

oauth-2.0 ×1

php ×1

pip ×1

psycopg2 ×1

python ×1

python-social-auth ×1

spotify ×1

string ×1

text ×1

ubuntu ×1