15

私は Python 2 で書かれたプロジェクトに取り組んでおり、それを Python 3 にアップグレードしています。これまでのところ、簡単に修正できるマイナーな構文エラーを見つけただけです。私が行ったことは、Python 3 で新しいプロジェクトを作成し、それが機能することを確認し、コードのチャンクを古いプロジェクトから新しいプロジェクトにコピーすることです。

現在、pysvn で問題が発生しています。最初は、次のエラーが発生していました。

ImportError: 'pysvn' という名前のモジュールがありません

この時点で、 を使用してみpip install pysvnましたが、うまくいきませんでした。私は以下を得ました:

ピップインストールpysvn

pysvn の収集

要件pysvnを満たすバージョンが見つかりませんでした(バージョンから:)

pysvn に一致するディストリビューションが見つかりません

それで、少し調査した後、pysvnダウンロードサイトにアクセスして試しました:

>pip install --index-url http://pysvn.tigris.org/project_downloads.html pysvn、このエラーが発生しました:

pysvn の収集

pysvn.tigris.org にあるリポジトリは、信頼できるホストでも安全なホストでもないため、無視されています。このリポジトリが HTTPS 経由で利用できる場合は、代わりに HTTPS を使用することをお勧めします。それ以外の場合は、この警告を黙らせて、「--trusted-host pysvn.tigris.org」でとにかく許可することができます。

また、試したときと同じエラー>pip install pysvn

次のステップは、必要なバージョンの .exe ファイルを手動でダウンロードすることで、pysvn を正常にインストールできました。site-packages ディレクトリを確認しましたが、pysvnは確かにありますが、pip はそれについて何も教えてくれません:

>pip show pysvn

>

インストールされている別のモジュール、たとえばセレンに対してこれを行うと、次のようになります。

ピップショーセレン


メタデータ バージョン: 1.1

名前: セレン

バージョン: 2.49.2

まとめ: Selenium の Python バインディング

ホームページ: https://github.com/SeleniumHQ/selenium/

作者: 不明

著者の電子メール: UNKNOWN

ライセンス: 不明

場所: ...\lib\site-packages

必要:

ImportError が返される代わりにプロジェクトが実行されるようになったため、pysvn のインストールが成功したことを確認できました。

では、正常にインストールされpipた同じディレクトリ内の別のモジュールに関する情報を提供できないのはなぜですか?

4

3 に答える 3

1

Linuxでの私のやり方:

ここからソースを入手

tar -zxf pysvn-1.9.10.tar.gz
apt-get install subversion libsvn1 libsvn-dev make g++
cd pysvn-1.9.10/Source
python setup.py configure --pycxx-dir=/pysvn-1.9.10/Import/pycxx-7.1.3/
make

ここで私は以下のエラーを持っています:

Compile: /pysvn-1.9.10/Import/pycxx-7.1.3/Src/cxxsupport.cxx into cxxsupport.o
/pysvn-1.9.10/Import/pycxx-7.1.3/Src/cxxsupport.cxx:42:10: fatal error: Src/Python3/cxxsupport.cxx: No such file or directory
#include "Src/Python3/cxxsupport.cxx"

Compile: /pysvn-1.9.10/Import/pycxx-7.1.3/Src/cxxextensions.c into cxxextensions.o
/pysvn-1.9.10/Import/pycxx-7.1.3/Src/cxxextensions.c:42:10: fatal error: Src/Python3/cxxextensions.c: No such file or directory
#include "Src/Python3/cxxextensions.c"

そのファイルを編集する必要があります。 vi /pysvn-1.9.10/Import/pycxx-7.1.3/Src/cxxsupport.cxx

change #include "Src/Python3/cxxsupport.cxx" to
#include "Python3/cxxsupport.cxx"

2番目のファイルでも同じです。もう一度make

make clean && make
...
Compile: /code/pysvn-1.9.10/Import/pycxx-7.1.3/Src/cxxextensions.c into cxxextensions.o
Compile: /code/pysvn-1.9.10/Import/pycxx-7.1.3/Src/IndirectPythonInterface.cxx into IndirectPythonInterface.o
Compile: /code/pysvn-1.9.10/Import/pycxx-7.1.3/Src/cxx_exceptions.cxx into cxx_exceptions.o
Link pysvn/_pysvn_3_7.so

次に、それをサイトパッケージにコピーするだけです(あなたのディレクトリに変更してください):

mkdir /usr/local/lib/python3.7/site-packages/pysvn
cp /code/pysvn-1.9.10/Sources/pysvn/__init__.py /usr/local/lib/python3.7/site-packages/
cp /code/pysvn-1.9.10/Sources/pysvn/_pysvn*.so /usr/local/lib/python3.7/site-packages/
于 2019-09-19T08:47:55.337 に答える
0

Ubuntu の場合

パイソン 2

sudo apt install python-svn 

パイソン3

sudo apt install python3-svn
于 2019-10-24T18:42:33.387 に答える