34615


**CentOS 6 へ Python3.5 を SCL経由でインストールしたのですが、以前ビルドしたバージョンと競合(?)してしまい、うまくいきません**  
・今、どういう状況でしょうか？

* * *

**今回Yumでインストールした Python3.5**

[code]

    $ which python3.5
    
[/code]

> /opt/rh/rh-python35/root/usr/bin/python3.5

* * *

**以前ソースからビルドしたPython2系**  
・使用していないためアンインストールしたいのですが、コピペでソースからビルドしたため、どうしたら良いか分からない

[code]

    $ which python
    
[/code]

> /usr/bin/python

* * *

**Pythonのバージョンを常に3.5へしたいのですが、**

[code]

    $ python -V   
    
[/code]

> Python 2.6.6

下記コマンドを打つと一時的に3.5になるのですが、新規プロセスだと2.6と表示されます

[code]

    $ source /opt/rh/rh-python35/enable 
    
[/code]

下記リンク先内容を試したのですが、効果ありませんでした  
・[How do I enable python35 from Software Collections at
login?](https://stackoverflow.com/questions/41910534/how-do-i-enable-
python35-from-software-collections-at-login)

* * *
[code]

    $ pip -V  
    
[/code]

> pip 7.1.0 from  
>  /opt/rh/rh-python35/root/usr/lib/python3.5/site-packages (python 3.5)

* * *
[code]

    $ sudo pip3.5 install mod_wsgi
    
[/code]

> /opt/rh/rh-python35/root/usr/bin/python3: error while loading shared  
>  libraries: libpython3.5m.so.rh-python35-1.0: cannot open shared object  
>  file: No such file or directory

* * *

**2017/5/11追記**  
・[このページ](https://www.server-
world.info/query?os=CentOS_7&p=python35)を参考に再度挑戦してみたのですが、「which
python」した時点で2.6.6の方を見に行ってしまいます  
・まっさらな状態で一からやり直したいのですが、Python2.6.6を削除する方法はありますか？

**/usr/bin/python**  
・下記ファイルを削除しても大丈夫でしょうか？

> python  
>  python2 -> python  
>  python2.6


CC BY-SA 3.0
2017-05-10T13:20:09.477
34608
2017-05-11T04:27:13.450
2017-05-23T12:38:55.250
-1
7886
question
python centos
CentOS 6 へ Python3.5 を SCL経由でインストールしたのですが、Apacheで利用するには？


CentOS 6 の httpd で rh-python35 の `python` などを利用したいのであれば、`/etc/sysconfig/httpd`
に次のような文を追加して `httpd` サービスを再起動するだけかと。

[code]

    source scl_source enable rh-python35
    
[/code]

`sudo` 経由の場合は呼び出し元の環境変数のいくつかは引き継がれないので、`sudo` した先で有効化すればよいでしょう。

[code]

    $ sudo sh -c 'source scl_source enable rh-python35; pip install mod_wsgi'
    
[/code]

`source scl_source enable rh-python35` は、指定した SCL
パッケージを利用可能とするために、いくつかの環境変数を設定しているだけです。以下は実行前後の環境変数の違いを出力する例です。

[code]

    $ bash -c 'diff <(env|sort) <(source scl_source enable rh-python35;env|sort)'
    5a6
    > LD_LIBRARY_PATH=/opt/rh/rh-python35/root/usr/lib64
    9c10,12
    < PATH=/sbin:/bin:/usr/sbin:/usr/bin
    ---
    > MANPATH=/opt/rh/rh-python35/root/usr/share/man:
    > PATH=/opt/rh/rh-python35/root/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin
    > PKG_CONFIG_PATH=/opt/rh/rh-python35/root/usr/lib64/pkgconfig
    20a24,25
    > XDG_DATA_DIRS=/opt/rh/rh-python35/root/usr/share:/usr/local/share:/usr/share
    > X_SCLS=rh-python35
    
[/code]


CC BY-SA 3.0
2017-05-10T17:26:00.703
34615
2017-05-11T04:27:13.450
2017-05-11T04:27:13.450
3061
3061
34608
answer