teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

3

モジュールのインストール先の変更について

2018/04/30 21:28

投稿

nokonoko_1203
nokonoko_1203

スコア17

title CHANGED
File without changes
body CHANGED
@@ -105,4 +105,21 @@
105
105
  ```
106
106
 
107
107
  どのようにすればSQLAlchemyを利用することが出来るでしょうか。
108
- 初心者ですので全く見当違いの事をしているかもしれませんが宜しくお願い致します。
108
+ 初心者ですので全く見当違いの事をしているかもしれませんが宜しくお願い致します。
109
+
110
+
111
+ 追記:一度ログアウトして再度ログインすると、理由はわからないのですが、下記の通りモジュールのインストール先が変更されていました。
112
+ なので$PYTHONPATHに追加しましたが、今までと同様にModuleNotFoundErrorとなってしまいました。
113
+
114
+ ec2-user:~/environment $ pip show SQLAlchemy
115
+
116
+ Name: SQLAlchemy
117
+ Version: 1.2.7
118
+ Summary: Database Abstraction Library
119
+ Home-page: http://www.sqlalchemy.org
120
+ Author: Mike Bayer
121
+ Author-email: mike_mp@zzzcomputing.com
122
+ License: MIT License
123
+ Location: /home/ec2-user/.local/lib/python3.6/site-packages
124
+ Requires:
125
+ Required-by:

2

タイトルの修正

2018/04/30 21:28

投稿

nokonoko_1203
nokonoko_1203

スコア17

title CHANGED
@@ -1,1 +1,1 @@
1
- AWS cloud9でSQLAlchemyがインポート出来ない
1
+ AWS cloud9(python)でSQLAlchemyがインポート出来ない
body CHANGED
File without changes

1

タイトルの修正、記載内容の修正

2018/04/29 13:32

投稿

nokonoko_1203
nokonoko_1203

スコア17

title CHANGED
@@ -1,1 +1,1 @@
1
- AWS cloud9でSQLAlchemyインポートしてもModuleNotFoundError: No module named 'SQLAlchemy'がてきてしまう。
1
+ AWS cloud9でSQLAlchemyインポート出来ない
body CHANGED
@@ -1,18 +1,7 @@
1
1
  いつも大変お世話になっております。
2
2
 
3
- タイトルの通り、AWS cloud9にて下記コードを実行したところ、「ModuleNotFoundError: No module named 'SQLAlchemy'」が出てきてしまいました。
3
+ タイトルの通り、AWS cloud9にて下記コードを実行したところ、インポートできず「ModuleNotFoundError: No module named 'SQLAlchemy'」が出てきてしまいました。
4
4
 
5
- 自分で調べながらいろいろやってみたのですが、全く進展しなかったので質問させていただきます。
6
-
7
- $ python -V
8
- Python 3.6.2
9
-
10
- $ which python
11
- alias python='python36'
12
- /usr/bin/python36
13
-
14
- となっております。
15
-
16
5
  ```python
17
6
  from SQLAlchemy import create_engine
18
7
  from SQLAlchemy.orm import scoped_session, sessionmaker
@@ -22,31 +11,26 @@
22
11
  databese_file = os.path.abspath('stockpile.db')
23
12
  print(databese_file)
24
13
 
25
- # データベースに接続
26
- # echo = True にしておくと 発行される SQLがログで吐かれる
27
14
  engine = create_engine('sqlite:///' + databese_file, convert_unicode=True)
28
15
  ```
29
16
 
30
- しかし、pip listで確認するとSQLAlchemy 1.2.7は入っているように見えます。
31
- ```python
17
+ ```err
32
- $ pip list
18
+ Traceback (most recent call last):
19
+ File "/home/ec2-user/environment/database.py", line 1, in <module>
20
+ from SQLalchemy import create_engine
21
+ ModuleNotFoundError: No module named 'SQLAlchemy'
22
+ ```
33
23
 
34
- Package Version
24
+ PYTHONPATHにも反映されているはずなのですが、どうしてもインポートできませんでした。
35
- ---------------- -------
25
+
36
- click 6.7
37
- Flask 0.12.2
38
- Flask-SQLAlchemy 2.3.2
39
- itsdangerous 0.24
40
- Jinja2 2.10
41
- MarkupSafe 1.0
42
- pip 10.0.1
43
- setuptools 39.0.1
44
- SQLAlchemy 1.2.7
45
- Werkzeug 0.14.1
46
- ```
47
- pip showでLocationを見てみると「/home/ec2-user/.pyenv/versions/3.6.5/lib/python3.6/site-packages」にインストールされているようでしたのでPYTHONPATHに追加しましたが動きません。
48
- ```python
26
+ $ python -V
27
+ Python 3.6.2
28
+
29
+ $ which python
30
+ alias python='python36'
31
+ /usr/bin/python36
32
+
49
- pip show SQLAlchemy
33
+ $ pip show SQLAlchemy
50
34
  Name: SQLAlchemy
51
35
  Version: 1.2.7
52
36
  Summary: Database Abstraction Library
@@ -54,13 +38,71 @@
54
38
  Author: Mike Bayer
55
39
  Author-email: mike_mp@zzzcomputing.com
56
40
  License: MIT License
57
- Location: /home/ec2-user/.pyenv/versions/3.6.5/lib/python3.6/site-packages
41
+ Location: /usr/local/lib/python3.6/site-packages
58
42
  Requires:
59
- Required-by: Flask-SQLAlchemy
43
+ Required-by:
44
+
45
+ $ echo $PYTHONPATH
46
+ /usr/local/lib/python3.6/site-packages:/usr/local/lib/python3.6/site-packages:/usr/local/lib/python3.6/site-packages:/usr/local/lib/python3.6/site-packages:/usr/local/lib/python3.6/site-packages:
47
+
48
+ となっております。
49
+
50
+ .bashrcにもPYTHONPATHを記載しております。
51
+
52
+ ```~/.bashrc
53
+ # .bashrc
54
+
55
+ PYTHONPATH="/usr/local/lib/python3.6/site-packages:$PYTHONPATH"
56
+ export PYTHONPATH
57
+
58
+ export PATH=$PATH:$HOME/.local/bin:$HOME/bin
59
+
60
+ # load nvm
61
+ export NVM_DIR="/home/ec2-user/.nvm"
62
+ [ "$BASH_VERSION" ] && npm() {
63
+ # hack: avoid slow npm sanity check in nvm
64
+ if [ "$*" == "config get prefix" ]; then which node | sed "s/bin/node//";
65
+ else $(which npm) "$@"; fi
66
+ }
67
+ # [ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm
68
+ rvm_silence_path_mismatch_check_flag=1 # prevent rvm complaints that nvm is first in PATH
69
+ unset npm # end hack
70
+
71
+
72
+ # User specific aliases and functions
73
+ alias python=python36
74
+
75
+ # modifications needed only in interactive mode
76
+ if [ "$PS1" != "" ]; then
77
+ # Set default editor for git
78
+ git config --global core.editor /usr/bin/nano
79
+
80
+ # Turn on checkwinsize
81
+ shopt -s checkwinsize
82
+
83
+ # keep more history
84
+ shopt -s histappend
85
+ export HISTSIZE=100000
86
+ export HISTFILESIZE=100000
87
+ export PROMPT_COMMAND="history -a;"
88
+
89
+ # Source for Git PS1 function
90
+ if ! type -t __git_ps1 && [ -e "/usr/share/git-core/contrib/completion/git-prompt.sh" ]; then
91
+ . /usr/share/git-core/contrib/completion/git-prompt.sh
92
+ fi
93
+
94
+ # Cloud9 default prompt
95
+ _cloud9_prompt_user() {
96
+ if [ "$C9_USER" = root ]; then
97
+ echo "$USER"
98
+ else
99
+ echo "$C9_USER"
100
+ fi
101
+ }
102
+
103
+ PS1='[\033[01;32m]$(_cloud9_prompt_user)[\033[00m]:[\033[01;34m]\w[\033[00m]$(__git_ps1 " (%s)" 2>/dev/null) $ '
104
+ fi
60
105
  ```
61
- ```PYTHONPATH
62
- /usr/local/lib/python2.7/dist-packages:/usr/local/lib/python3.4/dist-packages:/usr/local/lib/python3.5/dist-packages:/usr/local/lib/python3.6/dist-packages:/usr/local/lib64/python3.6/site-packages:/usr/local/bin:/usr/local/lib64/python2.7/site-packages: /home/ec2-user/.pyenv/versions/3.6.5/lib/python3.6/site-packages
63
- ```
64
106
 
65
107
  どのようにすればSQLAlchemyを利用することが出来るでしょうか。
66
108
  初心者ですので全く見当違いの事をしているかもしれませんが宜しくお願い致します。