pipを使っていると、「pip install --ugrade pip」しろと表示される時があると思いますが、
素直に実行すると失敗する場合がありました。
(自分の場合はWindows7 + Python3.4.3でした。)
どうやらWindowsでは以下コマンドを使わないといけないようです。
python -m pip install --upgrade pip
しかし一度失敗してしまうと、
ImportError: No module named 'pip'
みたいなエラーが出てpip自体が使えなくなってしまいます。
良い解決策かどうかわかりませんが、get-pip.pyを入手して実行することにより再度pipが使えるようになります。
こちらからget-pip.pyを入手
https://raw.github.com/pypa/pip/master/contrib/get-pip.py
pythonで実行
> python get-pip.py
k4zm blog ver2
網膜色素変性症の視覚障害者エンジニアが頑張るブログ
2015年7月14日火曜日
2015年5月2日土曜日
[Python]Pycharmでvirtualenvのactivateした状態のターミナルを起動する(Windows版)
Pycharmを使っていて、ターミナルを操作したくなる時があるのですが、
デフォルトだとvirtualenv環境ではない状態で起動してしまいます。
できればvirtualenvのactivateした状態で起動してくれると助かるということで設定します。
File -> Settings... -> Tools -> Terminal
Shell pathのcmd.exeの後に下記を追加します。
/K (virtualenvのactivate.batのパス)
例
cmd.exe /K C:\Users\k4zm\.virtualenvs\py3.4.3_sample\Scripts\activate.bat
こうしておくとPycharm上からTerminalを選択したときに、
virtualenv環境のターミナルが起動します。
デフォルトだとvirtualenv環境ではない状態で起動してしまいます。
できればvirtualenvのactivateした状態で起動してくれると助かるということで設定します。
File -> Settings... -> Tools -> Terminal
Shell pathのcmd.exeの後に下記を追加します。
/K (virtualenvのactivate.batのパス)
例
cmd.exe /K C:\Users\k4zm\.virtualenvs\py3.4.3_sample\Scripts\activate.bat
こうしておくとPycharm上からTerminalを選択したときに、
virtualenv環境のターミナルが起動します。
2014年12月15日月曜日
[Python]pythonで複数の任意の文字をまとめて除去する
replaceや正規表現も便利なのですが、translate()を使うと楽です。
:(コロン)と[](カッコ)を除去する場合
maketransの引数の数によって置換えにしたりできるのですが、
ひとまず除去の場合は3番目の引数に文字を指定しておくと
それらを取り除くという挙動になるようです。
私はwin32com.clientでExcelを操作するスクリプトを書いた時に、
シート名に指定できない文字(: \ [ ] / *)を除去するのに使いました。
他にも色々使えそうですね。
:(コロン)と[](カッコ)を除去する場合
In [1]: mystr = "seq:100[hoge]" In [2]: mystr.translate(str.maketrans("", "", ":[]")) Out[2]: 'seq100hoge'
maketransの引数の数によって置換えにしたりできるのですが、
ひとまず除去の場合は3番目の引数に文字を指定しておくと
それらを取り除くという挙動になるようです。
私はwin32com.clientでExcelを操作するスクリプトを書いた時に、
シート名に指定できない文字(: \ [ ] / *)を除去するのに使いました。
他にも色々使えそうですね。
2014年10月26日日曜日
python + openpyxlで同じドキュメント内にハイパーリンクする方法
openpyxlを使ってExcelファイルを操作するときに、
同じワークブック内の別シートへリンクする方法です。
(シート上で右クリックして「ハイパーリンク」と同じことをしたいということです)
どうやらcellのhyperlinkプロパティに文字列で下記のように指定すればいいようです。
下記例では、sheet2シートのA1へリンクを貼っています。
同じワークブック内の別シートへリンクする方法です。
(シート上で右クリックして「ハイパーリンク」と同じことをしたいということです)
どうやらcellのhyperlinkプロパティに文字列で下記のように指定すればいいようです。
下記例では、sheet2シートのA1へリンクを貼っています。
cell.hyperlink = "#sheet2!A1"
登録:
投稿 (Atom)