ラベル python の投稿を表示しています。 すべての投稿を表示
ラベル python の投稿を表示しています。 すべての投稿を表示

2022年7月7日木曜日

matplotlib.pyplotとpyQt5とopencvに関するエラー

import os, cv2, itertools, csv
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns

このような環境中、pltを使ったところで(ubuntu 22.04)

QObject::moveToThread: Current thread (0x561c4d10a240) is not the object's thread (0x561c4d65a110).
Cannot move to target thread (0x561c4d10a240)
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "/home/deeptitan/.local/lib/python3.10/site-packages/cv2/qt/plugins" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
Available platform plugins are: xcb, eglfs, linuxfb, minimal, minimalegl, offscreen, vnc.
Aborted (core dumped)

このような珍しいエラー。
どうやらmatplotlib.pyplotが使っているqtとopencvがぶつかっているみたいです。

対応方法は、
$ pip uninstall opencv-python
$ pip install opencv-python-headless
です。

ぶつかっているopencvのheadを無くせばいいわけです。


2020年6月5日金曜日

UBUNTUでのPython2とPython3の共存と切り替えはpyenv

Python2とPython3の切り替えです。
pyenvが便利です。

gitを導入してないときは、
$ sudo apt-get install git
から。
ついでに、
$ git config --global user.name ######
$ git config --global user.email ######
も。

pyenvの導入
$ git clone https://github.com/pyenv/pyenv.git ~/.pyenv

pathを通す
$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
$ echo 'eval "$(pyenv init -)"' >> ~/.bashrc
$ source ~/.bashrc

以下のようなpathを通しているひともいたけど
$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(pyenv init -)"' >> ~/.bash_profile
$ source ~/.bash_profile

ターミナルを起動するたびに
$ source ~/.bash_profile
をやることになったので上のほうにした。

ubuntu 16.04LTSには足らないパーツがあったので
$ sudo apt-get install zlib1g-dev
$ sudo apt-get install libssl-dev

そんでもって、
$ pyenv install 3.6.7

$ pyenv versions
で、3.6.7が入っていたらOK。

$ cd
で、python3が必要なフォルダーに移動してから、
$ pyenv local 3.6.7
とすると、カレントディレクトリーだけがpython3になります。
$ pyenv versionsで確認できます。

この状態の3.6.7は、すっからかんの状態ですので、
3.6.7支配下のカレントディレクトリーで
$pip install #####
で必要なパーツを入れていきます。

python3にはデフォルトでpipが入ってます。
$ pip list
で確認。

$sudo pip install #####
は不可です。

ここでsudoをやると、
systemのpython2のpipが動いてしまいます。

これで快適なpython3ができあがり。



2018年12月20日木曜日

Pythonのリストを一部シャッフルする

基本ここを参照。
https://qiita.com/joe_banana/items/3ebe185c32e7d7a1fa85

0、1~19、20、21~29・・・・
のリストで0,20、・・・は固定して
1~19内、21~29内・・・でシャッフル。
余りは削除。

import random

k=20

f = open('train_data.txt', 'r')
areas = f.readlines()

amari=len(areas)%k
del areas[len(areas)-amari:]

for i in range(len(areas)):
areas_b=areas[i*k+1:i*k+19]
random.shuffle(areas_b)
areas[i*k+1:i*k+19]=areas_b

f.close()

f = open('new_train_data.txt', 'w+')
f.writelines(areas)
f.close

【本を出版しました】神経科学者と学ぶ深層学習超入門

神経科学者と学ぶ深層学習超入門 を 羊土社 から出版いたしました。 本書は、基生研で働く生命系研究者である渡辺の目線から執筆した深層学習の入門書です。 数式やプログラムに慣れない方に配慮しつつ、文章では伝えきれない部分には、手描きイラストを多数掲載し、理解しやすさを心がけました。...