$ python3 --version Python 3.5.3 $ sudo apt install python3-pip $ pip3 -V pip 9.0.1 from /usr/lib/python3/dist-packages (python 3.5) $ pip3 install --user --upgrade pipenv
これで ~/.local/bin/pip/ に pipenv がインストールされて、ユーザ権限 (sudoなし) で pipenv を動かせるようになる。
最後に、PATH に ~/.local/bin/pip/ を追加する
/.profile
# if running bash if [ -n "$BASH_VERSION" ]; then # include .bashrc if it exists if [ -f "$HOME/.bashrc" ]; then . "$HOME/.bashrc" fi fi # set PATH so it includes user's private bin if it exists if [ -d "$HOME/bin" ] ; then PATH="$HOME/bin:$PATH" fi # set PATH so it includes user's private bin if it exists if [ -d "$HOME/.local/bin" ] ; then PATH="$HOME/.local/bin":$PATH fi
$ source ~/.profile $ pipenv --version pipenv, version 2018.11.26
$ mkdir pySample $ cd pySample $ mkdir pySample $ mkdir docs $ mkdir notes $ mkdir tests $ touch LICENSE $ touch README.md $ touch pySample/__init__.py $ touch tests/__init__.py $ pipenv --three Creating a virtualenv for this project… Pipfile: /home/atsushihondoh/python/pySample/Pipfile Using /usr/bin/python3.5m (3.5.3) to create virtualenv… ...
$ tree . ├── LICENSE ├── Pipfile ├── Pipfile.lock ├── README.md ├── docs ├── notes ├── pySample │ └── __init__.py └── tests └── __init__.py
[[source]] name = "pypi" url = "https://pypi.org/simple" verify_ssl = true [dev-packages] [packages] [requires] python_version = "3.5"
$ pipenv install numpy
$ pipenv install --dev autopep8 flake8
[[source]] name = "pypi" url = "https://pypi.org/simple" verify_ssl = true [dev-packages] autopep8 = "*" flake8 = "*" [packages] numpy = "*" [requires] python_version = "3.5"
{ "_meta": { "hash": { "sha256": "1c1d943573ca6420ef250bbdcbea2b850b697bb849cb624b888446e6f64ac166" }, "pipfile-spec": 6, "requires": { "python_version": "3.5" }, "sources": [ { "name": "pypi", "url": "https://pypi.org/simple", "verify_ssl": true } ] }, "default": { "numpy": { "hashes": [ "sha256:1786a08236f2c92ae0e70423c45e1e62788ed33028f94ca99c4df03f5be6b3c6", "sha256:17aa7a81fe7599a10f2b7d95856dc5cf84a4eefa45bc96123cbbc3ebc568994e", "sha256:20b26aaa5b3da029942cdcce719b363dbe58696ad182aff0e5dcb1687ec946dc", "sha256:2d75908ab3ced4223ccba595b48e538afa5ecc37405923d1fea6906d7c3a50bc", "sha256:39d2c685af15d3ce682c99ce5925cc66efc824652e10990d2462dfe9b8918c6a", "sha256:56bc8ded6fcd9adea90f65377438f9fea8c05fcf7c5ba766bef258d0da1554aa", "sha256:590355aeade1a2eaba17617c19edccb7db8d78760175256e3cf94590a1a964f3", "sha256:70a840a26f4e61defa7bdf811d7498a284ced303dfbc35acb7be12a39b2aa121", "sha256:77c3bfe65d8560487052ad55c6998a04b654c2fbc36d546aef2b2e511e760971", "sha256:9537eecf179f566fd1c160a2e912ca0b8e02d773af0a7a1120ad4f7507cd0d26", "sha256:9acdf933c1fd263c513a2df3dceecea6f3ff4419d80bf238510976bf9bcb26cd", "sha256:ae0975f42ab1f28364dcda3dde3cf6c1ddab3e1d4b2909da0cb0191fa9ca0480", "sha256:b3af02ecc999c8003e538e60c89a2b37646b39b688d4e44d7373e11c2debabec", "sha256:b6ff59cee96b454516e47e7721098e6ceebef435e3e21ac2d6c3b8b02628eb77", "sha256:b765ed3930b92812aa698a455847141869ef755a87e099fddd4ccf9d81fffb57", "sha256:c98c5ffd7d41611407a1103ae11c8b634ad6a43606eca3e2a5a269e5d6e8eb07", "sha256:cf7eb6b1025d3e169989416b1adcd676624c2dbed9e3bcb7137f51bfc8cc2572", "sha256:d92350c22b150c1cae7ebb0ee8b5670cc84848f6359cf6b5d8f86617098a9b73", "sha256:e422c3152921cece8b6a2fb6b0b4d73b6579bd20ae075e7d15143e711f3ca2ca", "sha256:e840f552a509e3380b0f0ec977e8124d0dc34dc0e68289ca28f4d7c1d0d79474", "sha256:f3d0a94ad151870978fb93538e95411c83899c9dc63e6fb65542f769568ecfa5" ], "index": "pypi", "version": "==1.18.1" } }, "develop": { "autopep8": { "hashes": [ "sha256:0f592a0447acea0c2b0a9602be1e4e3d86db52badd2e3c84f0193bfd89fd3a43" ], "index": "pypi", "version": "==1.5" }, "entrypoints": { "hashes": [ "sha256:589f874b313739ad35be6e0cd7efde2a4e9b6fea91edcc34e58ecbb8dbe56d19", "sha256:c70dd71abe5a8c85e55e12c19bd91ccfeec11a6e99044204511f9ed547d48451" ], "version": "==0.3" }, "flake8": { "hashes": [ "sha256:45681a117ecc81e870cbf1262835ae4af5e7a8b08e40b944a8a6e6b895914cfb", "sha256:49356e766643ad15072a789a20915d3c91dc89fd313ccd71802303fd67e4deca" ], "index": "pypi", "version": "==3.7.9" }, "mccabe": { "hashes": [ "sha256:ab8a6258860da4b6677da4bd2fe5dc2c659cff31b3ee4f7f5d64e79735b80d42", "sha256:dd8d182285a0fe56bace7f45b5e7d1a6ebcbf524e8f3bd87eb0f125271b8831f" ], "version": "==0.6.1" }, "pycodestyle": { "hashes": [ "sha256:95a2219d12372f05704562a14ec30bc76b05a5b297b21a5dfe3f6fac3491ae56", "sha256:e40a936c9a450ad81df37f549d676d127b1b66000a6c500caa2b085bc0ca976c" ], "version": "==2.5.0" }, "pyflakes": { "hashes": [ "sha256:17dbeb2e3f4d772725c777fabc446d5634d1038f234e77343108ce445ea69ce0", "sha256:d976835886f8c5b31d47970ed689944a0262b5f3afa00a5a7b4dc81e5449f8a2" ], "version": "==2.1.1" } } }
$ pipenv install $ pipenv install --dev
$ pipenv sync $ pipenv sync --dev
$ pipenv shell Launching subshell in virtual environment… (pySample) ~/python/pySample$ exit $
import numpy as np a = np.array([1, 2, 3, 4, 5]) b = np.array([6, 7, 8, 9, 10]) c = a + b print(c)
$ pipenv run python3 pySample/matrix.py [ 7 9 11 13 15]
[scripts] test = "python -m unittest discover -v" format = "autopep8 -ivr ." lint = "flake8 --show-source ."
$ pipenv run test ---------------------------------------------------------------------- Ran 0 tests in 0.000s OK