忍者ブログ

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

Fatal error in launcher: Unable to create process using "" (English)

日本語記事はこちら
I could not run some pip commands...

・Caution

I am not professional, so what I will tell you may be incorrect. I recommend you to check what you read are really correct comparing with other sources (and if you find any mistakes, please tell me about it).

・Background

I was installing Python and pip to my desktop PC. First I installed Python3. After a short time, I realized that Python2 were also needed in my use, so I installed it.

Unfortunately, after that, some articles on the Internet says that if not install Python2 before installation of Python3, I cannot control Python version. (Perhaps, there are other ways.)

Therefore, I uninstalled Python2 and Python3 through Control Panel, and reinstalled in the order of Python2 and Python3. In this way, I succesed installation of them.

However, when I tried to run pip command via command prompt to make sure that installation was succeed, some pip command did not work and the following error message was shown.
  Fatal error in launcher: Unable to create process using "" ""  
This message was displayed when I use the command like
  pip "something"
If pip command work correctly, it is predicted that pip3 (pip of Python3) will run, but it didn't, though commands like
  py -m pip "something"
worked...

・Environment

Windows10 Pro
Python3.7.1
python2.7.15

・What I Did.

First, I made sure that the path was set correctly. If you have never checked the path, you should do that referencing other article.

Second, I checked the path in Python and I confirmed that "bad path" did not exited. (*1)
I heard there is a path in Python, but I do not know well about it.

Moreover, I tried to update pip using the command below.
        py -m pip install -U pip 
To my disappointment, it told me that the version of pip was latest.

Finally, I did reinstall Python further again and I did it  strictly. It solved the problem...
I uninstalled both Pythons and deleted all remaining files exited in the directory where Python were. In addition, I also deleted data related to pip which were in C:\Users\"UserName"\AppData\Local. After that, I install python2 followed by python3.

*1

I do not think that checking it has meaning, but I write how did I check it just in case.
Via command prompt, I started Python and typed the next codes.

        C:\******> python
       >>> import sys
       >>> sys.path

After that, some directories were shown and I checked them.

拍手[0回]

PR

ソートと降順(逆順)ソート ~~ C++ ~~

ききひじの競プロ備忘録

・ソート

必要なヘッダファイルは<algorithm>
以下の方法で、データを昇順(小→大)にすることができる。
処理としてはクイックソートを行っているはず。
例えばvectorをソートするならば、

#include <algorithm>
#include <iostream>

int main() {
  vector<int> A(5);
  for (int i = 0; i < 5; ++i) {
    cin>>A[i];
  }

  //肝心のソート部
  sort(A.begin(), A.end());
  for (int i = 0; i < 5; ++i) {
    cout<<A[i]<<" ";
  }
  cout<<endl;
}

例えば上記のコードで
  7 3 4 1 9
と入力すれば、
  1 3 4 7 9
と結果が出力される。

・降順ソート

先のソートでは昇順でソートされた。
これを降順(大→小)でソートするにはどうすればいいか。
ヘッダファイルは上記の<algorithm>に加えて<functional>も必要となる。
#include <algorithm>
#include <functional>  //これが必要
#include <iostream>

int main() {
  vector<int> A(5);
  for (int i = 0; i < 5; ++i) {
    cin>>A[i];
  }

  //肝心のソート部
  sort(A.begin(), A.end(), greater<int>());

for (int i = 0; i < 5; ++i) { cout<<A[i]<<" "; } cout<<endl; }

例えば上記のコードで
  7 3 4 1 9
と入力すれば、
  9 7 4 3 1
と結果が出力される。

降順ソート別解

以下の方法でも逆順ソートは達成できる。
またこの場合は<functional>は不要となる。
ただ、実行速度はこちらの方が劣るとか。
#include <algorithm>
#include <iostream>

int main() {
  vector<int> A(5);
  for (int i = 0; i < 5; ++i) {
    cin>>A[i];
  }

  //肝心のソート部
  sort(A.rbegin(), A.rend());
for (int i = 0; i < 5; ++i) { cout<<A[i]<<" "; } cout<<endl; }

・因みに…

std::sort()
std::greater<Type>()
とstdです。

拍手[5回]

Ubuntu 18.04.1 LTSのインストール(Note)

※やったことを備忘録的に列挙していくページです。
 わかりやすさは他のwebページの方が優れているかと思います。うっかりこのページにたどり着いた方は、最下部の参考にあるサイト等を参照した方がわかりやすいでしょう。

用意したもの

  • ノートPC
  • USB

やったこと

①「Ubuntu 18.04.1 LTS」のダウンロード
 http://jp.releases.ubuntu.com/18.04.1/ より
 ノートPCに導入予定のため、デスクトップ版をダウンロード


②「Rufus」をダウンロード
 https://rufus.ie/ より
 「Rufus」は、
起動可能なISOファイル(Windows、Linux、UEFIなど)からUSBインストールメディアを作成するとき
出典: https://rufus.ie/
 などに使えるソフト。


③上記ソフトを利用し、用意したUSBをUbuntuのインストールメディアにする。
 ソフトは直感的に使えた。


④Ubuntuをインストールするパソコンに、③で作成したUSBインストールメディアを指し、電源を入れてBIOSかUEFIを起動。
今回用いたPCではF2キーを連打。

→BIOSの起動は間に合わなかったorz。こんな時は、再度コンピューターの電源を落として再起動させればもう一度挑戦できる。

→もともと入っていたWindows 7が起動すると予想したが、普通にUSBからUbuntuが起動。おそらくBIOSの設定で、OSはHDDよりもUSBメディアを優先するようになっていたのだろう。



⑤「ようこそ」画面の設定
・言語は「日本語」を選択
・「Ubuntuをインストール」をクリック


⑥「キーボードレイアウト」の設定
・左右どちらも「日本語」を設定
 (日本語キーボードを使っていない場合は環境に合わせる?)


⑦「無線」の設定
・「wi-fiネットワークに今すぐには接続しない」を選択
 有線でつないでいるから
 (有線でつないでいなくても、とりあえずこの選択でOK?)

→⑧でUbuntuのインストール中にアップデートをダウンロードする」を選ぶならwi-fiの設定はした方がいいかも




⑧「アップデートと他のソフトウェア」の設定
・「最小インストール」を選択
  自分の用途を考えると、不要なソフトはなるべく省きたい
・「Ubuntuのインストール中にアップデートをダウンロードする」をチェック
  自分でやるのは面倒くさいからね
・「グラフィックスとwi-fiハードウェアと…」をチェック


⑨「インストールの種類」の設定
・「ディスクを消去してUbuntuをインストール」を選択
  既に入っているWindows 7は消去するつもりのため。
・「安全のため新しいUbuntuのインストールを暗号化する」のチェックは入れない
  後から出来そう
・「新しいUbuntuのインストールにLVMを使用する」
  同上


⑩インストールが終わるのを待ち再起動



以上
ソフトのインストール等は別の記事で


参考

Linux Fan (2018/08/27) : Ubuntu 18.04 LTSインストールガイド【スクリーンショットつき解説】
https://linuxfan.info/ubuntu-18-04-install-guide (2019-01-11 参照)
kledgeb (2018/4/30) :Ubuntu 18.04 インストール準備 その1 - Ubuntu 18.04をインストールする前に・Ubuntuのライブメディアを作成してUbuntuを起動する
https://kledgeb.blogspot.com/2018/04/ubuntu-1804-1-ubuntu-1804ubuntuubuntu.html (2019-01-11 参照) 


拍手[0回]

Fatal error in launcher: Unable to create process using ""

The same article written in English is here.
pipの実行がうまくいかない

・症状

Pythonとpipのインストール時に、これらがうまくできたかを確認するため、コマンドプロンプトからそれぞれのコマンドを実行して確認していた。

だがpipコマンドの実行がうまくいかない。下記のようなエラーが出てしまうのだ。

  Fatal error in launcher: Unable to create process using "" ""  

これを解決したい。

・諸注意

素人が備忘録的に書いている記事です。必ずしも正しいわけではないので、鵜呑みにせずよく確認してください。

・環境

Windows10 Pro
Python3.7.1
python2.7.15

・背景

諸事情により、私は自宅のデスクトップパソコンへPythonを入れることになった。それもPython2とPython3の両方である。

はじめにPython3をいれた...のだが、ここでPython2を入れる必要があることに気が付く。そこでPython2を入れた。だがどうもネットで検索していると、先にPython2を入れ、そのあとPython3を入れないとうまくバージョン管理ができないらしい。(他にやりようはあるのかもしれないが。)
そこでそれぞれをコントロールパネルからアンインストール。Python2->Python3の順にインストールをし直したのだ。こうしてPython2とPython3はうまくインストールできたのである。だがpipコマンドの確認段階でつまずいてしまった。
  pip コマンド 
等の形で実行されるはずの、Python3のpipがうまく実行できないのである。
  py -m pip コマンド 
では実行できるのに...。

・解決まで

まず初めに、正しくPathが通っているかを調べ、問題がないことを確認した。人によってはこの段階で原因を発見できると思うが、詳しい説明は他のブログやサイトを参照してほしい。

次にPython内のPathである。存在するらしい。これを調べることに意味はなさそうだが、余計なところにPathが通っていないことを確認した。(注1)

またpipのアップデートも試みた。
  py -m pip install -U pip 
である。だが最新版であるという結果に。

そして最後にやったのがPython3の再インストールである。

まずPythonをアンインストールする。そして、もともとPythonがインストールされていたディレクトリ以下に残っているファイルを全て消去。さらにC:\Users\ユーザ名\AppData\Local以下にあるpipのデータも消去しておいた。その上でPythonを再度インストールするのである。私の場合はこれで解決した。

注1

これに関しては的外れだと思うが、一応私が確認した方法について。
まず Python でPythonを実行。 import sys と sys.path で出力されたディレクトリを確認した。

拍手[3回]

C言語(avr-gcc下)のシフトの上限について

------------------------------------------------------------------------------------------------------------------

- 結論 -
C言語(avr-gcc)のシフトの上限は15まで

※他の言語, コンパイラは不明、c++やjsでは31までという記述を確認
※AVR8bitマイコンです

------------------------------------------------------------------------------------------------------------------

注、ソースはstack overflow。以前調べた際に見つけたページのリンクが見つからず…申し訳ない。

日本語サイトでこの事に触れているサイトが見つからなかったので一応ここに…
常識過ぎて書かれていないなんてことはないと信じたい。


以前とある理由でめちゃくちゃシフトしたくなることがありまして、以下の様な感じのプログラム

unsigned long hoge;
hoge |= 1<<24;

を書いたわけですが、「変数に対して値が大きすぎる」みたいな警告(エラーだったか)が出てしまいまい、実際にうまくいきませんでした。
変数の大きさはコンパイラによって変わったりするものなので、念の為にlong型の大きさを確認してみましたが4byteで問題ない。で、調べたわけですがどうやらシフト出来る大きさにも上限があるらしく、その上限がavr-gccの場合「15」だそうです。
まあそんなわけで私は実装の仕方を変えて解決したわけですが、シフト数を変数などで指定する場合はうっかり上限を超えてしまったりするのでお気をつけを。特に変数で上限を超えてしまった場合などはそのことに気が付きにくいと思うので。

拍手[0回]