2017-11-20 3 views
0

こんにちは私はpython3とpython3.6を使い慣れています。私は通常py3のパスに古いライブラリを追加するためにpip3を使っています。python3ライブラリをpython3.6のパスに追加する

私は最近asyncio機能を備えた私のホームサーバを管理するためにpython3.6を選びましたが、私のpython3.6インタプリタはpwnlibsを見つけることができず、古いコードを再利用することができません。

私が試した:

import sys 
import os 
sys.path.append(os.path.abspath(pwn.__file__)) 
import pwn 

デバッグの結果を:

python3.4 os.path.abspath(pwn.__file__)sys.path.appendがであなたのpythonのパスに追加するための有効な手段ですが

+0

私はあなたのことを信じていません(それについては、インポートの前に示したようにPython 3.4を扱っています) –

+0

私は非常にPythonに慣れていて、私がやっていることを誤解しているかもしれません。 import pwnが正しく動作します。乾杯。 http://python3-pwntools.readthedocs.io/en/latest/install.html – laycat

答えて

2

ライブラリへの正しいパスを返します。ランタイムでは、まだロードしていないモジュールからパスを取得することはできません。

代わりに、pip3または特定の場所にパッケージをインストールし、実行時またはPYTHONPATH環境変数でパスに追加する必要があります。

すでにpip3と言われていますが、すでにあなたがインストールしようとしたときにpwnパッケージがインストールされていて、Python 3.6のインストールでPython 3.4のインストールと同じパスが使用されていないと思います。 sys.pathからの出力を比較して、3.4から3.6へのPythonパスを比較してみてください。

最後に、pwntoolsパッケージを使用している場合はまだPython 3をサポートしていないため、単にフォルダをコピーしている場合は、正しく機能しない可能性があります。

関連する問題