<virtualenv, Python> virtualenvをして、setuptoolsを試す。
Anaconda
で、virtualenv
をして、setuptools
をためしてみた。
まずは、virtualenv
。
インストールしんといけん。デフォルトでははいっちょらん。
[1]> conda install virtualenv
で、virtualenv
。
[2]> virtualenv hello Using base prefix 'C:\\Anaconda3' New python executable in C:\msys64\home\Nekoyuki\tmp\hello\hello\Scripts\python.exe copying C:\Anaconda3\python.exe => C:\msys64\home\Nekoyuki\tmp\hello\hello\Scripts\python.exe Installing setuptools, pip, wheel...done. [3]> cd hello/ Include/ Lib/ pip-selfcheck.json Scripts/ tcl/ [4]> . Scripts/activate [5]> which pip /C/msys64/home/Nekoyuki/tmp/hello/hello/Scripts/pip [6]> which python /C/msys64/home/Nekoyuki/tmp/hello/hello/Scripts/python [7]> export PYTHONPATH=/home/Nekoyuki/tmp/hello/hello/Lib/site-packages [8]> echo $PYTHONPATH /home/Nekoyuki/tmp/hello/hello/Lib/site-packages [9]> pip freeze
みそは、PYTHONPATH
を手動で切り替えないと、pip
が正しく動かない。
で、hello.py
、他スクリプトを書いてみた。(下記のリンク参照)
[10]> ls helloworld/ Include/ Lib/ pip-selfcheck.json Scripts/ tcl/ >tree helloworld/ helloworld/ ├── helloworld │ ├── __init__.py │ └── hello.py └── setup.py 1 directory, 3 files
で、pip
をかます。
[11]> pip install ./helloworld Processing c:\msys64\home\nekoyuki\tmp\hello\hello\helloworld Installing collected packages: helloworld Running setup.py install for helloworld: started Running setup.py install for helloworld: finished with status 'done' Successfully installed helloworld-0.0.0
インストールされたっぽい。確認してみる。
[12]> pip freeze helloworld==0.0.0 [13]> ls helloworld/ Include/ Lib/ pip-selfcheck.json Scripts/ tcl/ [14]> ls Scripts/ activate activate_this.py easy_install-3.6.exe* pip.exe* python.exe* wheel.exe* activate.bat deactivate.bat greet.exe* pip3.6.exe* python36.dll* activate.ps1 easy_install.exe* greet-script.py* pip3.exe* pythonw.exe* [15]> ls Lib/site-packages/ __pycache__/ helloworld-0.0.0-py3.6.egg-info/ pkg_resources/ wheel/ easy_install.py pip/ setuptools/ wheel-0.30.0.dist-info/ helloworld/ pip-9.0.1.dist-info/ setuptools-38.4.0.dist-info/
ちゃんと、greet
が、Scripts
の下にあるねー!
いけるね!
お世話になったところ。
その1 Python パッケージ管理技術まとめ (pip, setuptools, easy_install, etc)
その2
momijiame.tumblr.com<ATOM> Proxy越しのアップデート
Proxy
越しでATOM
を使ってるとき、、
で、モジュールのアップデート時に、下記のエラーが出た時、、、
Updating to “atom-mermaid@3.2.1” failed.Hide output… gyp info it worked if it ends with ok gyp info using node-gyp@3.4.0 gyp info using node@6.9.5 | win32 | ia32 gyp http GET https://atom.io/download/electron/v1.6.15/iojs-v1.6.15.tar.gz gyp WARN install got an error, rolling back install gyp ERR! install error gyp ERR! stack Error: unable to get local issuer certificate gyp ERR! stack at Error (native) gyp ERR! stack at TLSSocket.<anonymous> (_tls_wrap.js:1079:38) gyp ERR! stack at emitNone (events.js:86:13) gyp ERR! stack at TLSSocket.emit (events.js:185:7) gyp ERR! stack at TLSSocket._finishInit (_tls_wrap.js:603:8) gyp ERR! stack at TLSWrap.ssl.onhandshakedone (_tls_wrap.js:433:38) gyp ERR! System Windows_NT 6.1.7601 gyp ERR! command "C:\\Users\hage\\AppData\\Local\\atom\\app-1.23.3\\resources\\app\\apm\\bin\\node.exe" "C:\\Users\\hage\\AppData\\Local\\atom\\app-1.23.3\\resources\\app\\apm\\node_modules\\node-gyp\\bin\\node-gyp.js" "install" "--runtime=electron" "--target=1.6.15" "--dist-url=https://atom.io/download/electron" "--arch=ia32" "--ensure" "--proxy=http://proxy.hage.com:8080/" gyp ERR! cwd C:\Users\hage\.atom gyp ERR! node -v v6.9.5 gyp ERR! node-gyp -v v3.4.0 gyp ERR! not ok
次のおまじないを、ターミナル開いて叩く。
setx NODE_TLS_REJECT_UNAUTHORIZED 0
node-gyp
中のが、承認するところでこけてるので、無視させればいいらしい。
<Linux, msys2, fzy> fzyを入れる。
世の中の人々の協力で、便利になっていくもんだ、、と思った。
msys2
では、peco
さんが動かない。
でも、fzy
というものがpeco
の代わりにナイスに動くとのこと。
さっそくインストール。
msys2
の場合、
ちょー楽。pacman
で一発。
>pacman -Syu fzy
Linux
の場合、
git
して、make
する。
>git clone https://github.com/jhawthorn/fzy.git Cloning into 'fzy'... remote: Counting objects: 1294, done. remote: Total 1294 (delta 0), reused 0 (delta 0), pack-reused 1294 Receiving objects: 100% (1294/1294), 251.38 KiB, done. Resolving deltas: 100% (807/807), done. >cd fzy ALGORITHM.md CHANGELOG.md LICENSE Makefile README.md contrib/ deps/ fzy.1 src/ test/ >export PREFIX=/home/hage/local >make cp src/config.def.h config.h cc -DVERSION=\"0.9\" -D_GNU_SOURCE -Wall -Wextra -g -std=c99 -O3 -pedantic -Ideps -c -o src/fzy.o src/fzy.c cc -DVERSION=\"0.9\" -D_GNU_SOURCE -Wall -Wextra -g -std=c99 -O3 -pedantic -Ideps -c -o src/match.o src/match.c cc -DVERSION=\"0.9\" -D_GNU_SOURCE -Wall -Wextra -g -std=c99 -O3 -pedantic -Ideps -c -o src/tty.o src/tty.c cc -DVERSION=\"0.9\" -D_GNU_SOURCE -Wall -Wextra -g -std=c99 -O3 -pedantic -Ideps -c -o src/choices.o src/choices.c cc -DVERSION=\"0.9\" -D_GNU_SOURCE -Wall -Wextra -g -std=c99 -O3 -pedantic -Ideps -c -o src/options.o src/options.c cc -DVERSION=\"0.9\" -D_GNU_SOURCE -Wall -Wextra -g -std=c99 -O3 -pedantic -Ideps -c -o src/tty_interface.o src/tty_interface.c cc -Wall -Wextra -g -std=c99 -O3 -pedantic -Ideps -o fzy src/fzy.o src/match.o src/tty.o src/choices.o src/options.o src/tty_interface.o -lpthread >make install mkdir -p /home/hage/local/bin cp fzy /home/hage/local/bin/ chmod 755 /home/hage/local/bin/fzy mkdir -p /home/hage/local/share/man/man1 cp fzy.1 /home/hage/local/share/man/man1/ chmod 644 /home/hage/local/share/man/man1/fzy.1
参考にさせてもらいました。
qiita.com
<Anaconda> Python 3.6を入れる。
Python
が3.6
になっている。
前に入れたAnaconda
は、3.5.1
。その後、アップデートかけて、3.5.4
。
特段3.6
ですることはないが、3.6
にしたい。
conda
で3.6
を入れてみたが、デフォルトを3.6
にすることができないっぽい。
なので、Anaconda
をインストールし直すことにした。
今あるAnaconda
があるディレクトリC\Anaconda3
を念のためバックアップコピーして、
Anaconda
をアンインストールする。
で、新Anaconda
```Python 3.6.3 (Anaconda3 5.0.1 64-bit)をインストール。
ここからダウンロード。
:: Anaconda Cloud
で、管理者権限でインストール。
前と同じディレクトリ名にしておく。
で、
終わり。
<Anaconda, conda, python> Anacondaでpipをちゃんと動かす。
Windows
にインストールした、Anaconda
さん上で、
conda
で環境を変更した時に、pip
をちゃんと動かす、、
つまり、source activate
した環境を認識させるには、、
例、下記の環境で、、
>conda env list # conda environments: # py27 C:\Anaconda3\envs\py27 py279 C:\Anaconda3\envs\py279 root * C:\Anaconda3
py279
をactivate
した場合、
>source activate py279
PYTHONPATH
を指定しなおす必要あり。
どうも、source activate
だけでは切り替わらない。。
py279 >export PYTHONPATH="/c/Anaconda3/envs/py279/Lib/site-packages"
あと、pip
は、conda
でインストールしないといけない。。
<Windows, dos> バッチファイルを管理者権限で実行する
バッチファイル.bat
を管理者権限administrator privilege
で実行する
ショートカット作成とかあるようですが、タスクスケジューラを使う方法があるっす。
いけてました。
<Python> リスト中の重複した要素を除く、、
リストlist
中の重複した要素duplicated element
を除く、、
set
を使うそうです。
例、、
In [1]: l = ['e', 'd', 'c', 'a', 'b', 'e', 'd'] In [2]: set(l) Out[2]: {'a', 'b', 'c', 'd', 'e'} In [3]: list(set(l)) Out[3]: ['c', 'a', 'b', 'd', 'e'] In [4]: sorted(list(set(l))) Out[4]: ['a', 'b', 'c', 'd', 'e'] In [5]: set? Init signature: set(self, /, *args, **kwargs) Docstring: set() -> new empty set object set(iterable) -> new set object Build an unordered collection of unique elements. Type: type
教えてもらいました。
www.lifewithpython.com